diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js')
-rw-r--r-- | chromium/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/chromium/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js b/chromium/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js index a00645cc6ad..b5e422346a1 100644 --- a/chromium/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js +++ b/chromium/third_party/blink/renderer/devtools/front_end/sdk/NetworkRequest.js @@ -1151,12 +1151,13 @@ SDK.NetworkRequest = class extends Common.Object { async populateImageSource(image) { const {content, encoded} = await this.contentData(); let imageSrc = Common.ContentProvider.contentAsDataURL(content, this._mimeType, encoded); - if (imageSrc === null) { + if (imageSrc === null && !this._failed) { const cacheControl = this.responseHeaderValue('cache-control') || ''; if (!cacheControl.includes('no-cache')) imageSrc = this._url; } - image.src = imageSrc; + if (imageSrc !== null) + image.src = imageSrc; } /** @@ -1244,6 +1245,24 @@ SDK.NetworkRequest = class extends Common.Object { this._backendRequestId = requestId; this._requestId = requestId; } + + /** + * @return {?string} + */ + charset() { + const contentTypeHeader = this.responseHeaderValue('content-type'); + if (!contentTypeHeader) + return null; + + const responseCharsets = contentTypeHeader.replace(/ /g, '') + .split(';') + .filter(parameter => parameter.toLowerCase().startsWith('charset=')) + .map(parameter => parameter.slice('charset='.length)); + if (responseCharsets.length) + return responseCharsets[0]; + + return null; + } }; /** @enum {symbol} */ |