Title: [102699] trunk
Revision
102699
Author
[email protected]
Date
2011-12-13 13:19:52 -0800 (Tue, 13 Dec 2011)

Log Message

Web Inspector: Network item view does not correctly decode "+" in request parameters.
https://bugs.webkit.org/show_bug.cgi?id=74422

Reviewed by Pavel Feldman.

Source/WebCore:

Test: http/tests/inspector/network/request-parameters-decoding.html

* inspector/front-end/ResourceHeadersView.js:
(WebInspector.ResourceHeadersView.prototype._formatParameter):
(WebInspector.ResourceHeadersView.prototype._refreshParms):

LayoutTests:

* http/tests/inspector/network/request-parameters-decoding-expected.txt: Added.
* http/tests/inspector/network/request-parameters-decoding.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (102698 => 102699)


--- trunk/LayoutTests/ChangeLog	2011-12-13 21:12:40 UTC (rev 102698)
+++ trunk/LayoutTests/ChangeLog	2011-12-13 21:19:52 UTC (rev 102699)
@@ -1,3 +1,13 @@
+2011-12-13  Vsevolod Vlasov  <[email protected]>
+
+        Web Inspector: Network item view does not correctly decode "+" in request parameters.
+        https://bugs.webkit.org/show_bug.cgi?id=74422
+
+        Reviewed by Pavel Feldman.
+
+        * http/tests/inspector/network/request-parameters-decoding-expected.txt: Added.
+        * http/tests/inspector/network/request-parameters-decoding.html: Added.
+
 2011-12-09  Zhenyao Mo  <[email protected]>
 
         Implement GLES2 CheckFramebufferStatus() behavior

Added: trunk/LayoutTests/http/tests/inspector/network/request-parameters-decoding-expected.txt (0 => 102699)


--- trunk/LayoutTests/http/tests/inspector/network/request-parameters-decoding-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/request-parameters-decoding-expected.txt	2011-12-13 21:19:52 UTC (rev 102699)
@@ -0,0 +1,6 @@
+Tests how request headers are decoded in network item view.
+
+Bug 74422
+Original value: Test+%21%40%23%24%25%5E%26*%28%29_%2B+parameters.
+Decoded value: Test !@#$%^&*()_+ parameters.
+
Property changes on: trunk/LayoutTests/http/tests/inspector/network/request-parameters-decoding-expected.txt
___________________________________________________________________

Added: svn:eol-style

Added: trunk/LayoutTests/http/tests/inspector/network/request-parameters-decoding.html (0 => 102699)


--- trunk/LayoutTests/http/tests/inspector/network/request-parameters-decoding.html	                        (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/request-parameters-decoding.html	2011-12-13 21:19:52 UTC (rev 102699)
@@ -0,0 +1,20 @@
+<html>
+<head>
+<script src=""
+<script>
+
+function test()
+{
+    var value = "Test+%21%40%23%24%25%5E%26*%28%29_%2B+parameters.";
+    var parameterElement = WebInspector.ResourceHeadersView.prototype._formatParameter(value, "", true);
+    InspectorTest.addResult("Original value: " + value);
+    InspectorTest.addResult("Decoded value: " + parameterElement.textContent);
+    InspectorTest.completeTest();
+}
+</script>
+</head>
+<body _onload_="runTest()">
+ <p>Tests how request headers are decoded in network item view.</p>
+<a href="" 74422</a>
+</body>
+</html>
Property changes on: trunk/LayoutTests/http/tests/inspector/network/request-parameters-decoding.html
___________________________________________________________________

Added: svn:eol-style

Modified: trunk/Source/WebCore/ChangeLog (102698 => 102699)


--- trunk/Source/WebCore/ChangeLog	2011-12-13 21:12:40 UTC (rev 102698)
+++ trunk/Source/WebCore/ChangeLog	2011-12-13 21:19:52 UTC (rev 102699)
@@ -1,3 +1,16 @@
+2011-12-13  Vsevolod Vlasov  <[email protected]>
+
+        Web Inspector: Network item view does not correctly decode "+" in request parameters.
+        https://bugs.webkit.org/show_bug.cgi?id=74422
+
+        Reviewed by Pavel Feldman.
+
+        Test: http/tests/inspector/network/request-parameters-decoding.html
+
+        * inspector/front-end/ResourceHeadersView.js:
+        (WebInspector.ResourceHeadersView.prototype._formatParameter):
+        (WebInspector.ResourceHeadersView.prototype._refreshParms):
+
 2011-12-13  Alok Priyadarshi  <[email protected]>
 
         [chromium] compositing/masks layout tests fail with accelerated drawing

Modified: trunk/Source/WebCore/inspector/front-end/ResourceHeadersView.js (102698 => 102699)


--- trunk/Source/WebCore/inspector/front-end/ResourceHeadersView.js	2011-12-13 21:12:40 UTC (rev 102698)
+++ trunk/Source/WebCore/inspector/front-end/ResourceHeadersView.js	2011-12-13 21:19:52 UTC (rev 102699)
@@ -127,12 +127,14 @@
     /**
      * @param {string} value
      * @param {string} className
+     * @param {boolean} decodeParameters
      */
-    _formatParameter: function(value, className)
+    _formatParameter: function(value, className, decodeParameters)
     {
         var errorDecoding = false;
 
-        if (this._decodeRequestParameters) {
+        if (decodeParameters) {
+            value = value.replace(/\+/g, " ");
             if (value.indexOf("%") >= 0) {
                 try {
                     value = decodeURIComponent(value);
@@ -140,7 +142,6 @@
                     errorDecoding = true;
                 }
             }
-            value = value.replace(/\+/g, " ");
         }
         var div = document.createElement("div");
         div.className = className;
@@ -236,8 +237,8 @@
 
         for (var i = 0; i < parms.length; ++i) {
             var paramNameValue = document.createDocumentFragment();
-            var name = this._formatParameter(parms[i].name + ":", "header-name");
-            var value = this._formatParameter(parms[i].value, "header-name source-code");
+            var name = this._formatParameter(parms[i].name + ":", "header-name", this._decodeRequestParameters);
+            var value = this._formatParameter(parms[i].value, "header-value source-code", this._decodeRequestParameters);
             paramNameValue.appendChild(name);
             paramNameValue.appendChild(value);
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to