summaryrefslogtreecommitdiffstats
path: root/WebCore/inspector/front-end/HAREntry.js
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/inspector/front-end/HAREntry.js')
-rw-r--r--WebCore/inspector/front-end/HAREntry.js46
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);
}
};