diff options
Diffstat (limited to 'WebCore/inspector/front-end/HAREntry.js')
-rw-r--r-- | WebCore/inspector/front-end/HAREntry.js | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/WebCore/inspector/front-end/HAREntry.js b/WebCore/inspector/front-end/HAREntry.js index 85e4f59..2b8f41b 100644 --- a/WebCore/inspector/front-end/HAREntry.js +++ b/WebCore/inspector/front-end/HAREntry.js @@ -56,7 +56,6 @@ WebInspector.HAREntry.prototype = { method: this._resource.requestMethod, url: this._resource.url, // httpVersion: "HTTP/1.1" -- Not available. - // cookies: [] -- Not available. headers: this._buildHeaders(this._resource.requestHeaders), headersSize: -1, // Not available. bodySize: -1 // Not available. @@ -65,22 +64,26 @@ WebInspector.HAREntry.prototype = { res.queryString = this._buildParameters(this._resource.queryParameters); if (this._resource.requestFormData) res.postData = this._buildPostData(); + if (this._resource.requestCookies) + res.cookies = this._buildCookies(this._resource.requestCookies); return res; }, _buildResponse: function() { - return { + var res = { status: this._resource.statusCode, statusText: this._resource.statusText, // "httpVersion": "HTTP/1.1" -- Not available. - // "cookies": [], -- Not available. headers: this._buildHeaders(this._resource.responseHeaders), content: this._buildContent(), redirectURL: this._resource.responseHeaderValue("Location") || "", headersSize: -1, // Not available. bodySize: this._resource.resourceSize }; + if (this._resource.responseCookies) + res.cookies = this._buildCookies(this._resource.responseCookies); + return res; }, _buildContent: function() @@ -150,6 +153,25 @@ WebInspector.HAREntry.prototype = { return parameters.slice(); }, + _buildCookies: function(cookies) + { + return cookies.map(this._buildCookie.bind(this)); + }, + + _buildCookie: function(cookie) + { + + return { + name: cookie.name, + value: cookie.value, + path: cookie.path, + domain: cookie.domain, + expires: cookie.expires(new Date(this._resource.startTime * 1000)), + httpOnly: cookie.httpOnly, + secure: cookie.secure + }; + }, + _interval: function(start, end) { var timing = this._resource.timing; @@ -181,7 +203,7 @@ WebInspector.HARLog.prototype = { version: webKitVersion ? webKitVersion[1] : "n/a" }, pages: this._buildPages(), - entries: Object.properties(WebInspector.resources).map(this._convertResource) + entries: Object.keys(WebInspector.resources).map(this._convertResource) } }, @@ -192,23 +214,31 @@ WebInspector.HARLog.prototype = { startedDateTime: new Date(WebInspector.mainResource.startTime * 1000), id: WebInspector.mainResource.documentURL, title: "", - pageTimings: this._buildMainResourceTimings() + pageTimings: this.buildMainResourceTimings() } ]; }, - _buildMainResourceTimings: function() + buildMainResourceTimings: function() { var resourcesPanel = WebInspector.panels.resources; var startTime = WebInspector.mainResource.startTime; return { - onContentLoad: WebInspector.HAREntry._toMilliseconds(resourcesPanel.mainResourceDOMContentTime - startTime), - onLoad: WebInspector.HAREntry._toMilliseconds(resourcesPanel.mainResourceLoadTime - startTime), + onContentLoad: this._pageEventTime(resourcesPanel.mainResourceDOMContentTime), + onLoad: this._pageEventTime(resourcesPanel.mainResourceLoadTime), } }, _convertResource: function(id) { return (new WebInspector.HAREntry(WebInspector.resources[id])).build(); + }, + + _pageEventTime: function(time) + { + var startTime = WebInspector.mainResource.startTime; + if (time === -1 || startTime === -1) + return -1; + return WebInspector.HAREntry._toMilliseconds(time - startTime); } }; |