diff options
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js')
-rw-r--r-- | Source/WebInspectorUI/UserInterface/Views/ImageResourceContentView.js | 24 |
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); } |