summaryrefslogtreecommitdiffstats
path: root/Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js')
-rw-r--r--Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js24
1 files changed, 22 insertions, 2 deletions
diff --git a/Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js b/Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js
index 54fb13a85..be8b2ad63 100644
--- a/Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js
+++ b/Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js
@@ -45,8 +45,28 @@ WebInspector.ImageResourceContentView = class ImageResourceContentView extends W
var objectURL = this.resource.createObjectURL();
this._imageElement = document.createElement("img");
- this._imageElement.addEventListener("load", function() { URL.revokeObjectURL(objectURL); });
- this._imageElement.src = objectURL;
+ this._imageElement.dataset.url = this.resource.url;
+
+ var imageElement = this._imageElement;
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", objectURL, true);
+ xhr.responseType = "blob";
+ xhr.onload = function() {
+ if (this.status == 200) {
+ var reader = new FileReader();
+ reader.onload = function() {
+ imageElement.src = reader.result;
+
+ URL.revokeObjectURL(objectURL);
+ }
+
+ reader.readAsDataURL(this.response);
+ } else {
+ imageElement.addEventListener("load", function() { URL.revokeObjectURL(objectURL) });
+ imageElement.src = objectURL;
+ }
+ };
+ xhr.send();
this.element.appendChild(this._imageElement);
}