Index: third_party/WebKit/Source/devtools/front_end/sdk/Resource.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/Resource.js b/third_party/WebKit/Source/devtools/front_end/sdk/Resource.js |
index ed28b893921a2e7553c49bc589916af11561db18..845344e0e445ade84f5baf317dbe1a8df5b26948 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/sdk/Resource.js |
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/Resource.js |
@@ -25,25 +25,25 @@ |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
- |
/** |
- * @constructor |
- * @extends {WebInspector.SDKObject} |
* @implements {WebInspector.ContentProvider} |
- * @param {!WebInspector.Target} target |
- * @param {?WebInspector.NetworkRequest} request |
- * @param {string} url |
- * @param {string} documentURL |
- * @param {!PageAgent.FrameId} frameId |
- * @param {!NetworkAgent.LoaderId} loaderId |
- * @param {!WebInspector.ResourceType} type |
- * @param {string} mimeType |
- * @param {?Date} lastModified |
- * @param {?number} contentSize |
+ * @unrestricted |
*/ |
-WebInspector.Resource = function(target, request, url, documentURL, frameId, loaderId, type, mimeType, lastModified, contentSize) |
-{ |
- WebInspector.SDKObject.call(this, target); |
+WebInspector.Resource = class extends WebInspector.SDKObject { |
+ /** |
+ * @param {!WebInspector.Target} target |
+ * @param {?WebInspector.NetworkRequest} request |
+ * @param {string} url |
+ * @param {string} documentURL |
+ * @param {!PageAgent.FrameId} frameId |
+ * @param {!NetworkAgent.LoaderId} loaderId |
+ * @param {!WebInspector.ResourceType} type |
+ * @param {string} mimeType |
+ * @param {?Date} lastModified |
+ * @param {?number} contentSize |
+ */ |
+ constructor(target, request, url, documentURL, frameId, loaderId, type, mimeType, lastModified, contentSize) { |
+ super(target); |
this._request = request; |
this.url = url; |
this._documentURL = documentURL; |
@@ -59,298 +59,268 @@ WebInspector.Resource = function(target, request, url, documentURL, frameId, loa |
/** @type {boolean} */ this._contentEncoded; |
this._pendingContentCallbacks = []; |
if (this._request && !this._request.finished) |
- this._request.addEventListener(WebInspector.NetworkRequest.Events.FinishedLoading, this._requestFinished, this); |
-}; |
- |
-WebInspector.Resource.prototype = { |
- /** |
- * @return {?Date} |
- */ |
- lastModified: function() |
- { |
- if (this._lastModified || !this._request) |
- return this._lastModified; |
- var lastModifiedHeader = this._request.responseLastModified(); |
- var date = lastModifiedHeader ? new Date(lastModifiedHeader) : null; |
- this._lastModified = date && date.isValid() ? date : null; |
- return this._lastModified; |
- }, |
- |
- /** |
- * @return {?number} |
- */ |
- contentSize: function() |
- { |
- if (typeof this._contentSize === "number" || !this._request) |
- return this._contentSize; |
- return this._request.resourceSize; |
- }, |
- |
- /** |
- * @return {?WebInspector.NetworkRequest} |
- */ |
- get request() |
- { |
- return this._request; |
- }, |
- |
+ this._request.addEventListener(WebInspector.NetworkRequest.Events.FinishedLoading, this._requestFinished, this); |
+ } |
+ |
+ /** |
+ * @return {?Date} |
+ */ |
+ lastModified() { |
+ if (this._lastModified || !this._request) |
+ return this._lastModified; |
+ var lastModifiedHeader = this._request.responseLastModified(); |
+ var date = lastModifiedHeader ? new Date(lastModifiedHeader) : null; |
+ this._lastModified = date && date.isValid() ? date : null; |
+ return this._lastModified; |
+ } |
+ |
+ /** |
+ * @return {?number} |
+ */ |
+ contentSize() { |
+ if (typeof this._contentSize === 'number' || !this._request) |
+ return this._contentSize; |
+ return this._request.resourceSize; |
+ } |
+ |
+ /** |
+ * @return {?WebInspector.NetworkRequest} |
+ */ |
+ get request() { |
+ return this._request; |
+ } |
+ |
+ /** |
+ * @return {string} |
+ */ |
+ get url() { |
+ return this._url; |
+ } |
+ |
+ /** |
+ * @param {string} x |
+ */ |
+ set url(x) { |
+ this._url = x; |
+ this._parsedURL = new WebInspector.ParsedURL(x); |
+ } |
+ |
+ get parsedURL() { |
+ return this._parsedURL; |
+ } |
+ |
+ /** |
+ * @return {string} |
+ */ |
+ get documentURL() { |
+ return this._documentURL; |
+ } |
+ |
+ /** |
+ * @return {!PageAgent.FrameId} |
+ */ |
+ get frameId() { |
+ return this._frameId; |
+ } |
+ |
+ /** |
+ * @return {!NetworkAgent.LoaderId} |
+ */ |
+ get loaderId() { |
+ return this._loaderId; |
+ } |
+ |
+ /** |
+ * @return {string} |
+ */ |
+ get displayName() { |
+ return this._parsedURL.displayName; |
+ } |
+ |
+ /** |
+ * @return {!WebInspector.ResourceType} |
+ */ |
+ resourceType() { |
+ return this._request ? this._request.resourceType() : this._type; |
+ } |
+ |
+ /** |
+ * @return {string} |
+ */ |
+ get mimeType() { |
+ return this._request ? this._request.mimeType : this._mimeType; |
+ } |
+ |
+ /** |
+ * @return {?string} |
+ */ |
+ get content() { |
+ return this._content; |
+ } |
+ |
+ /** |
+ * @return {boolean} |
+ */ |
+ get contentEncoded() { |
+ return this._contentEncoded; |
+ } |
+ |
+ /** |
+ * @override |
+ * @return {string} |
+ */ |
+ contentURL() { |
+ return this._url; |
+ } |
+ |
+ /** |
+ * @override |
+ * @return {!WebInspector.ResourceType} |
+ */ |
+ contentType() { |
+ if (this.resourceType() === WebInspector.resourceTypes.Document && this.mimeType.indexOf('javascript') !== -1) |
+ return WebInspector.resourceTypes.Script; |
+ return this.resourceType(); |
+ } |
+ |
+ /** |
+ * @override |
+ * @return {!Promise<?string>} |
+ */ |
+ requestContent() { |
+ if (typeof this._content !== 'undefined') |
+ return Promise.resolve(this._content); |
+ |
+ var callback; |
+ var promise = new Promise(fulfill => callback = fulfill); |
+ this._pendingContentCallbacks.push(callback); |
+ if (!this._request || this._request.finished) |
+ this._innerRequestContent(); |
+ return promise; |
+ } |
+ |
+ /** |
+ * @return {string} |
+ */ |
+ canonicalMimeType() { |
+ return this.contentType().canonicalMimeType() || this.mimeType; |
+ } |
+ |
+ /** |
+ * @override |
+ * @param {string} query |
+ * @param {boolean} caseSensitive |
+ * @param {boolean} isRegex |
+ * @param {function(!Array.<!WebInspector.ContentProvider.SearchMatch>)} callback |
+ */ |
+ searchInContent(query, caseSensitive, isRegex, callback) { |
/** |
- * @return {string} |
+ * @param {?Protocol.Error} error |
+ * @param {!Array.<!DebuggerAgent.SearchMatch>} searchMatches |
*/ |
- get url() |
- { |
- return this._url; |
- }, |
- |
- set url(x) |
- { |
- this._url = x; |
- this._parsedURL = new WebInspector.ParsedURL(x); |
- }, |
- |
- get parsedURL() |
- { |
- return this._parsedURL; |
- }, |
- |
+ function callbackWrapper(error, searchMatches) { |
+ callback(searchMatches || []); |
+ } |
+ |
+ if (this.frameId) |
+ this.target().pageAgent().searchInResource( |
+ this.frameId, this.url, query, caseSensitive, isRegex, callbackWrapper); |
+ else |
+ callback([]); |
+ } |
+ |
+ /** |
+ * @param {!Element} image |
+ */ |
+ populateImageSource(image) { |
/** |
- * @return {string} |
+ * @param {?string} content |
+ * @this {WebInspector.Resource} |
*/ |
- get documentURL() |
- { |
- return this._documentURL; |
- }, |
+ function onResourceContent(content) { |
+ var imageSrc = WebInspector.ContentProvider.contentAsDataURL(content, this._mimeType, true); |
+ if (imageSrc === null) |
+ imageSrc = this._url; |
+ image.src = imageSrc; |
+ } |
+ |
+ this.requestContent().then(onResourceContent.bind(this)); |
+ } |
+ |
+ _requestFinished() { |
+ this._request.removeEventListener(WebInspector.NetworkRequest.Events.FinishedLoading, this._requestFinished, this); |
+ if (this._pendingContentCallbacks.length) |
+ this._innerRequestContent(); |
+ } |
+ |
+ _innerRequestContent() { |
+ if (this._contentRequested) |
+ return; |
+ this._contentRequested = true; |
/** |
- * @return {!PageAgent.FrameId} |
+ * @param {?Protocol.Error} error |
+ * @param {?string} content |
+ * @param {boolean} contentEncoded |
+ * @this {WebInspector.Resource} |
*/ |
- get frameId() |
- { |
- return this._frameId; |
- }, |
+ function contentLoaded(error, content, contentEncoded) { |
+ if (error || content === null) { |
+ replyWithContent.call(this, null, false); |
+ return; |
+ } |
+ replyWithContent.call(this, content, contentEncoded); |
+ } |
/** |
- * @return {!NetworkAgent.LoaderId} |
+ * @param {?string} content |
+ * @param {boolean} contentEncoded |
+ * @this {WebInspector.Resource} |
*/ |
- get loaderId() |
- { |
- return this._loaderId; |
- }, |
+ function replyWithContent(content, contentEncoded) { |
+ this._content = content; |
+ this._contentEncoded = contentEncoded; |
+ var callbacks = this._pendingContentCallbacks.slice(); |
+ for (var i = 0; i < callbacks.length; ++i) |
+ callbacks[i](this._content); |
+ this._pendingContentCallbacks.length = 0; |
+ delete this._contentRequested; |
+ } |
/** |
- * @return {string} |
+ * @param {?Protocol.Error} error |
+ * @param {string} content |
+ * @param {boolean} contentEncoded |
+ * @this {WebInspector.Resource} |
*/ |
- get displayName() |
- { |
- return this._parsedURL.displayName; |
- }, |
+ function resourceContentLoaded(error, content, contentEncoded) { |
+ contentLoaded.call(this, error, content, contentEncoded); |
+ } |
- /** |
- * @return {!WebInspector.ResourceType} |
- */ |
- resourceType: function() |
- { |
- return this._request ? this._request.resourceType() : this._type; |
- }, |
+ if (this.request) { |
+ this.request.requestContent().then(requestContentLoaded.bind(this)); |
+ return; |
+ } |
/** |
- * @return {string} |
+ * @param {?string} content |
+ * @this {WebInspector.Resource} |
*/ |
- get mimeType() |
- { |
- return this._request ? this._request.mimeType : this._mimeType; |
- }, |
- |
- /** |
- * @return {?string} |
- */ |
- get content() |
- { |
- return this._content; |
- }, |
- |
- /** |
- * @return {boolean} |
- */ |
- get contentEncoded() |
- { |
- return this._contentEncoded; |
- }, |
- |
- /** |
- * @override |
- * @return {string} |
- */ |
- contentURL: function() |
- { |
- return this._url; |
- }, |
- |
- /** |
- * @override |
- * @return {!WebInspector.ResourceType} |
- */ |
- contentType: function() |
- { |
- if (this.resourceType() === WebInspector.resourceTypes.Document && this.mimeType.indexOf("javascript") !== -1) |
- return WebInspector.resourceTypes.Script; |
- return this.resourceType(); |
- }, |
- |
- /** |
- * @override |
- * @return {!Promise<?string>} |
- */ |
- requestContent: function() |
- { |
- if (typeof this._content !== "undefined") |
- return Promise.resolve(this._content); |
- |
- var callback; |
- var promise = new Promise(fulfill => callback = fulfill); |
- this._pendingContentCallbacks.push(callback); |
- if (!this._request || this._request.finished) |
- this._innerRequestContent(); |
- return promise; |
- }, |
- |
- /** |
- * @return {string} |
- */ |
- canonicalMimeType: function() |
- { |
- return this.contentType().canonicalMimeType() || this.mimeType; |
- }, |
- |
- /** |
- * @override |
- * @param {string} query |
- * @param {boolean} caseSensitive |
- * @param {boolean} isRegex |
- * @param {function(!Array.<!WebInspector.ContentProvider.SearchMatch>)} callback |
- */ |
- searchInContent: function(query, caseSensitive, isRegex, callback) |
- { |
- /** |
- * @param {?Protocol.Error} error |
- * @param {!Array.<!DebuggerAgent.SearchMatch>} searchMatches |
- */ |
- function callbackWrapper(error, searchMatches) |
- { |
- callback(searchMatches || []); |
- } |
- |
- if (this.frameId) |
- this.target().pageAgent().searchInResource(this.frameId, this.url, query, caseSensitive, isRegex, callbackWrapper); |
- else |
- callback([]); |
- }, |
- |
- /** |
- * @param {!Element} image |
- */ |
- populateImageSource: function(image) |
- { |
- /** |
- * @param {?string} content |
- * @this {WebInspector.Resource} |
- */ |
- function onResourceContent(content) |
- { |
- var imageSrc = WebInspector.ContentProvider.contentAsDataURL(content, this._mimeType, true); |
- if (imageSrc === null) |
- imageSrc = this._url; |
- image.src = imageSrc; |
- } |
- |
- this.requestContent().then(onResourceContent.bind(this)); |
- }, |
- |
- _requestFinished: function() |
- { |
- this._request.removeEventListener(WebInspector.NetworkRequest.Events.FinishedLoading, this._requestFinished, this); |
- if (this._pendingContentCallbacks.length) |
- this._innerRequestContent(); |
- }, |
- |
- |
- _innerRequestContent: function() |
- { |
- if (this._contentRequested) |
- return; |
- this._contentRequested = true; |
- |
- /** |
- * @param {?Protocol.Error} error |
- * @param {?string} content |
- * @param {boolean} contentEncoded |
- * @this {WebInspector.Resource} |
- */ |
- function contentLoaded(error, content, contentEncoded) |
- { |
- if (error || content === null) { |
- replyWithContent.call(this, null, false); |
- return; |
- } |
- replyWithContent.call(this, content, contentEncoded); |
- } |
- |
- /** |
- * @param {?string} content |
- * @param {boolean} contentEncoded |
- * @this {WebInspector.Resource} |
- */ |
- function replyWithContent(content, contentEncoded) |
- { |
- this._content = content; |
- this._contentEncoded = contentEncoded; |
- var callbacks = this._pendingContentCallbacks.slice(); |
- for (var i = 0; i < callbacks.length; ++i) |
- callbacks[i](this._content); |
- this._pendingContentCallbacks.length = 0; |
- delete this._contentRequested; |
- } |
- |
- /** |
- * @param {?Protocol.Error} error |
- * @param {string} content |
- * @param {boolean} contentEncoded |
- * @this {WebInspector.Resource} |
- */ |
- function resourceContentLoaded(error, content, contentEncoded) |
- { |
- contentLoaded.call(this, error, content, contentEncoded); |
- } |
- |
- if (this.request) { |
- this.request.requestContent().then(requestContentLoaded.bind(this)); |
- return; |
- } |
- |
- /** |
- * @param {?string} content |
- * @this {WebInspector.Resource} |
- */ |
- function requestContentLoaded(content) |
- { |
- contentLoaded.call(this, null, content, this.request.contentEncoded); |
- } |
- |
- this.target().pageAgent().getResourceContent(this.frameId, this.url, resourceContentLoaded.bind(this)); |
- }, |
- |
- /** |
- * @return {boolean} |
- */ |
- hasTextContent: function() |
- { |
- if (this._type.isTextType()) |
- return true; |
- if (this._type === WebInspector.resourceTypes.Other) |
- return !!this._content && !this._contentEncoded; |
- return false; |
- }, |
- |
- __proto__: WebInspector.SDKObject.prototype |
+ function requestContentLoaded(content) { |
+ contentLoaded.call(this, null, content, this.request.contentEncoded); |
+ } |
+ |
+ this.target().pageAgent().getResourceContent(this.frameId, this.url, resourceContentLoaded.bind(this)); |
+ } |
+ |
+ /** |
+ * @return {boolean} |
+ */ |
+ hasTextContent() { |
+ if (this._type.isTextType()) |
+ return true; |
+ if (this._type === WebInspector.resourceTypes.Other) |
+ return !!this._content && !this._contentEncoded; |
+ return false; |
+ } |
}; |
- |