[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
bweinstein at apple.com
bweinstein at apple.com
Thu Oct 29 20:32:03 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit a4e47331731ab6000ca67b5037652a83d6c5a739
Author: bweinstein at apple.com <bweinstein at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Sep 22 20:11:25 2009 +0000
2009-09-22 Brian Weinstein <bweinstein at apple.com>
Reviewed by Timothy Hatcher.
List HTTP status code with response headers in resources tab of Web Inspector.
http://webkit.org/b/19945
This patch adds a new top level list in the resources tab, HTTP Information, that
for now, contains the Request Method (GET, POST, etc.) and the Status Code (200, 404, etc.).
Additionally, it adds a colored dot next to the requested URL to show the status
(green for success, orange for redirect, red for error).
* English.lproj/localizedStrings.js:
* inspector/front-end/ImageView.js:
(WebInspector.ImageView):
* inspector/front-end/Images/errorRedDot.png: Added.
* inspector/front-end/Images/successGreenDot.png: Added.
* inspector/front-end/Images/warningOrangeDot.png: Added.
* inspector/front-end/Resource.js:
(WebInspector.Resource.StatusTextForCode):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
(WebInspector.ResourceView.prototype._refreshURL):
(WebInspector.ResourceView.prototype._refreshHTTPInformation):
* inspector/front-end/inspector.css:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c8f26d5..5c2f214 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2009-09-22 Brian Weinstein <bweinstein at apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ List HTTP status code with response headers in resources tab of Web Inspector.
+ http://webkit.org/b/19945
+
+ This patch adds a new top level list in the resources tab, HTTP Information, that
+ for now, contains the Request Method (GET, POST, etc.) and the Status Code (200, 404, etc.).
+ Additionally, it adds a colored dot next to the requested URL to show the status
+ (green for success, orange for redirect, red for error).
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ImageView.js:
+ (WebInspector.ImageView):
+ * inspector/front-end/Images/errorRedDot.png: Added.
+ * inspector/front-end/Images/successGreenDot.png: Added.
+ * inspector/front-end/Images/warningOrangeDot.png: Added.
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.StatusTextForCode):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView):
+ (WebInspector.ResourceView.prototype._refreshURL):
+ (WebInspector.ResourceView.prototype._refreshHTTPInformation):
+ * inspector/front-end/inspector.css:
+
2009-09-22 Brady Eidson <beidson at apple.com>
Reviewed by Darin Adler.
diff --git a/WebCore/English.lproj/localizedStrings.js b/WebCore/English.lproj/localizedStrings.js
index 3eb5737..789948c 100644
Binary files a/WebCore/English.lproj/localizedStrings.js and b/WebCore/English.lproj/localizedStrings.js differ
diff --git a/WebCore/inspector/front-end/ImageView.js b/WebCore/inspector/front-end/ImageView.js
index 001ffdd..96e1a6e 100644
--- a/WebCore/inspector/front-end/ImageView.js
+++ b/WebCore/inspector/front-end/ImageView.js
@@ -37,6 +37,7 @@ WebInspector.ImageView = function(resource)
this.contentElement.appendChild(container);
this.imagePreviewElement = document.createElement("img");
+ this.imagePreviewElement.addStyleClass("resource-image-view");
this.imagePreviewElement.setAttribute("src", this.resource.url);
container.appendChild(this.imagePreviewElement);
diff --git a/WebCore/inspector/front-end/Images/errorRedDot.png b/WebCore/inspector/front-end/Images/errorRedDot.png
new file mode 100644
index 0000000..6f0b164
Binary files /dev/null and b/WebCore/inspector/front-end/Images/errorRedDot.png differ
diff --git a/WebCore/inspector/front-end/Images/successGreenDot.png b/WebCore/inspector/front-end/Images/successGreenDot.png
new file mode 100644
index 0000000..8b9319c
Binary files /dev/null and b/WebCore/inspector/front-end/Images/successGreenDot.png differ
diff --git a/WebCore/inspector/front-end/Images/warningOrangeDot.png b/WebCore/inspector/front-end/Images/warningOrangeDot.png
new file mode 100644
index 0000000..8c8b635
Binary files /dev/null and b/WebCore/inspector/front-end/Images/warningOrangeDot.png differ
diff --git a/WebCore/inspector/front-end/Resource.js b/WebCore/inspector/front-end/Resource.js
index 4dac093..56696e3 100644
--- a/WebCore/inspector/front-end/Resource.js
+++ b/WebCore/inspector/front-end/Resource.js
@@ -45,6 +45,64 @@ WebInspector.Resource = function(requestHeaders, url, domain, path, lastPathComp
this.category = WebInspector.resourceCategories.other;
}
+
+WebInspector.Resource.StatusText = {
+ 100: "Continue",
+ 101: "Switching Protocols",
+ 102: "Processing (WebDav)",
+ 200: "OK",
+ 201: "Created",
+ 202: "Accepted",
+ 203: "Non-Authoritative Information",
+ 204: "No Content",
+ 205: "Reset Content",
+ 206: "Partial Content",
+ 207: "Multi-Status (WebDav)",
+ 300: "Multiple Choices",
+ 301: "Moved Permanently",
+ 302: "Found",
+ 303: "See Other",
+ 304: "Not Modified",
+ 305: "Use Proxy",
+ 306: "Switch Proxy",
+ 307: "Temporary",
+ 400: "Bad Request",
+ 401: "Unauthorized",
+ 402: "Payment Required",
+ 403: "Forbidden",
+ 404: "Not Found",
+ 405: "Method Not Allowed",
+ 406: "Not Acceptable",
+ 407: "Proxy Authentication Required",
+ 408: "Request Timeout",
+ 409: "Conflict",
+ 410: "Gone",
+ 411: "Length Required",
+ 412: "Precondition Failed",
+ 413: "Request Entity Too Large",
+ 414: "Request-URI Too Long",
+ 415: "Unsupported Media Type",
+ 416: "Requested Range Not Satisfiable",
+ 417: "Expectation Failed",
+ 418: "I'm a teapot",
+ 422: "Unprocessable Entity (WebDav)",
+ 423: "Locked (WebDav)",
+ 424: "Failed Dependency (WebDav)",
+ 425: "Unordered Collection",
+ 426: "Upgrade Required",
+ 449: "Retry With",
+ 500: "Internal Server Error",
+ 501: "Not Implemented",
+ 502: "Bad Gateway",
+ 503: "Service Unavailable",
+ 504: "Gateway Timeout",
+ 505: "HTTP Version Not Supported",
+ 506: "Variant Also Negotiates",
+ 507: "Insufficient Storage (WebDav)",
+ 509: "Bandwidth Limit Exceeded",
+ 510: "Not Extended"
+};
+
// Keep these in sync with WebCore::InspectorResource::Type
WebInspector.Resource.Type = {
Document: 0,
@@ -620,3 +678,8 @@ WebInspector.Resource.CompareBySize = function(a, b)
return 1;
return 0;
}
+
+WebInspector.Resource.StatusTextForCode = function(code)
+{
+ return code ? code + " " + WebInspector.Resource.StatusText[code] : "";
+}
diff --git a/WebCore/inspector/front-end/ResourceView.js b/WebCore/inspector/front-end/ResourceView.js
index d745920..d915055 100644
--- a/WebCore/inspector/front-end/ResourceView.js
+++ b/WebCore/inspector/front-end/ResourceView.js
@@ -54,6 +54,11 @@ WebInspector.ResourceView = function(resource)
this.urlTreeElement.selectable = false;
this.headersTreeOutline.appendChild(this.urlTreeElement);
+ this.httpInformationTreeElement = new TreeElement("", null, true);
+ this.httpInformationTreeElement.expanded = false;
+ this.httpInformationTreeElement.selectable = false;
+ this.headersTreeOutline.appendChild(this.httpInformationTreeElement);
+
this.requestHeadersTreeElement = new TreeElement("", null, true);
this.requestHeadersTreeElement.expanded = false;
this.requestHeadersTreeElement.selectable = false;
@@ -90,10 +95,12 @@ WebInspector.ResourceView = function(resource)
resource.addEventListener("url changed", this._refreshURL, this);
resource.addEventListener("requestHeaders changed", this._refreshRequestHeaders, this);
resource.addEventListener("responseHeaders changed", this._refreshResponseHeaders, this);
+ resource.addEventListener("finished", this._refreshHTTPInformation, this);
this._refreshURL();
this._refreshRequestHeaders();
this._refreshResponseHeaders();
+ this._refreshHTTPInformation();
}
WebInspector.ResourceView.prototype = {
@@ -127,7 +134,21 @@ WebInspector.ResourceView.prototype = {
_refreshURL: function()
{
var url = this.resource.url;
- this.urlTreeElement.title = this.resource.requestMethod + " " + url.escapeHTML();
+ var statusCodeImage = "";
+ if (this.resource.statusCode) {
+ var statusImageSource = "";
+
+ if (this.resource.statusCode < 300)
+ statusImageSource = "Images/successGreenDot.png";
+ else if (this.resource.statusCode < 400)
+ statusImageSource = "Images/warningOrangeDot.png";
+ else
+ statusImageSource = "Images/errorRedDot.png";
+
+ statusCodeImage = "<img class=\"resource-status-image\" src=\"" + statusImageSource + "\" title=\"" + WebInspector.Resource.StatusTextForCode(this.resource.statusCode) + "\">";
+ }
+
+ this.urlTreeElement.title = statusCodeImage + "<span class=\"resource-url\">" + url.escapeHTML() + "</span>";
this._refreshQueryString();
},
@@ -240,6 +261,33 @@ WebInspector.ResourceView.prototype = {
this._refreshHeaders(WebInspector.UIString("Response Headers"), this.resource.sortedResponseHeaders, this.responseHeadersTreeElement);
},
+ _refreshHTTPInformation: function()
+ {
+ const listElements = 2;
+
+ var headerElement = this.httpInformationTreeElement;
+ headerElement.removeChildren();
+ headerElement.hidden = !this.resource.statusCode;
+
+ if (this.resource.statusCode) {
+ headerElement.title = WebInspector.UIString("HTTP Information") + "<span class=\"header-count\">" + WebInspector.UIString(" (%d)", listElements) + "</span>";
+
+ var title = "<div class=\"header-name\">" + WebInspector.UIString("Request Method") + ":</div>";
+ title += "<div class=\"header-value\">" + this.resource.requestMethod + "</div>"
+
+ var headerTreeElement = new TreeElement(title, null, false);
+ headerTreeElement.selectable = false;
+ headerElement.appendChild(headerTreeElement);
+
+ title = "<div class=\"header-name\">" + WebInspector.UIString("Status Code") + ":</div>";
+ title += "<div class=\"header-value\">" + WebInspector.Resource.StatusTextForCode(this.resource.statusCode) + "</div>"
+
+ headerTreeElement = new TreeElement(title, null, false);
+ headerTreeElement.selectable = false;
+ headerElement.appendChild(headerTreeElement);
+ }
+ },
+
_refreshHeaders: function(title, headers, headersTreeElement)
{
headersTreeElement.removeChildren();
diff --git a/WebCore/inspector/front-end/inspector.css b/WebCore/inspector/front-end/inspector.css
index 476007b..2ae4aac 100644
--- a/WebCore/inspector/front-end/inspector.css
+++ b/WebCore/inspector/front-end/inspector.css
@@ -854,7 +854,7 @@ body.drawer-visible #drawer {
-webkit-user-select: text;
}
-.resource-view.image img {
+.resource-view.image img.resource-image-view {
max-width: 100%;
max-height: 1000px;
background-image: url(Images/checker.png);
@@ -863,6 +863,14 @@ body.drawer-visible #drawer {
-webkit-user-drag: auto;
}
+.resource-url {
+ vertical-align: middle;
+}
+
+.resource-status-image {
+ vertical-align: middle;
+}
+
.resource-view.image .title {
text-align: center;
font-size: 13px;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list