[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