Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: Source/WebCore/inspector/front-end/ResourceHeadersView.js

Issue 8907036: Merge 102699 - Web Inspector: Network item view does not correctly decode "+" in request parameters. (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/963/
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « LayoutTests/http/tests/inspector/network/request-parameters-decoding-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) IBM Corp. 2009 All rights reserved. 3 * Copyright (C) IBM Corp. 2009 All rights reserved.
4 * Copyright (C) 2010 Google Inc. All rights reserved. 4 * Copyright (C) 2010 Google Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 var fragment = document.createDocumentFragment(); 120 var fragment = document.createDocumentFragment();
121 fragment.createChild("div", "header-name").textContent = name + ":"; 121 fragment.createChild("div", "header-name").textContent = name + ":";
122 fragment.createChild("div", "header-value source-code").textContent = va lue; 122 fragment.createChild("div", "header-value source-code").textContent = va lue;
123 123
124 return fragment; 124 return fragment;
125 }, 125 },
126 126
127 /** 127 /**
128 * @param {string} value 128 * @param {string} value
129 * @param {string} className 129 * @param {string} className
130 * @param {boolean} decodeParameters
130 */ 131 */
131 _formatParameter: function(value, className) 132 _formatParameter: function(value, className, decodeParameters)
132 { 133 {
133 var errorDecoding = false; 134 var errorDecoding = false;
134 135
135 if (this._decodeRequestParameters) { 136 if (decodeParameters) {
137 value = value.replace(/\+/g, " ");
136 if (value.indexOf("%") >= 0) { 138 if (value.indexOf("%") >= 0) {
137 try { 139 try {
138 value = decodeURIComponent(value); 140 value = decodeURIComponent(value);
139 } catch(e) { 141 } catch(e) {
140 errorDecoding = true; 142 errorDecoding = true;
141 } 143 }
142 } 144 }
143 value = value.replace(/\+/g, " ");
144 } 145 }
145 var div = document.createElement("div"); 146 var div = document.createElement("div");
146 div.className = className; 147 div.className = className;
147 if (errorDecoding) 148 if (errorDecoding)
148 div.createChild("span", "error-message").textContent = WebInspector. UIString("(unable to decode value)"); 149 div.createChild("span", "error-message").textContent = WebInspector. UIString("(unable to decode value)");
149 else 150 else
150 div.textContent = value; 151 div.textContent = value;
151 return div; 152 return div;
152 }, 153 },
153 154
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 parmsTreeElement.listItemElement.appendChild(headerCount); 230 parmsTreeElement.listItemElement.appendChild(headerCount);
230 231
231 var toggleTitle = this._decodeRequestParameters ? WebInspector.UIString( "view URL encoded") : WebInspector.UIString("view decoded"); 232 var toggleTitle = this._decodeRequestParameters ? WebInspector.UIString( "view URL encoded") : WebInspector.UIString("view decoded");
232 var toggleButton = this._createToggleButton(toggleTitle); 233 var toggleButton = this._createToggleButton(toggleTitle);
233 toggleButton.addEventListener("click", this._toggleURLdecoding.bind(this )); 234 toggleButton.addEventListener("click", this._toggleURLdecoding.bind(this ));
234 parmsTreeElement.listItemElement.appendChild(toggleButton); 235 parmsTreeElement.listItemElement.appendChild(toggleButton);
235 236
236 237
237 for (var i = 0; i < parms.length; ++i) { 238 for (var i = 0; i < parms.length; ++i) {
238 var paramNameValue = document.createDocumentFragment(); 239 var paramNameValue = document.createDocumentFragment();
239 var name = this._formatParameter(parms[i].name + ":", "header-name") ; 240 var name = this._formatParameter(parms[i].name + ":", "header-name", this._decodeRequestParameters);
240 var value = this._formatParameter(parms[i].value, "header-name sourc e-code"); 241 var value = this._formatParameter(parms[i].value, "header-value sour ce-code", this._decodeRequestParameters);
241 paramNameValue.appendChild(name); 242 paramNameValue.appendChild(name);
242 paramNameValue.appendChild(value); 243 paramNameValue.appendChild(value);
243 244
244 var parmTreeElement = new TreeElement(paramNameValue, null, false); 245 var parmTreeElement = new TreeElement(paramNameValue, null, false);
245 parmTreeElement.selectable = false; 246 parmTreeElement.selectable = false;
246 parmsTreeElement.appendChild(parmTreeElement); 247 parmsTreeElement.appendChild(parmTreeElement);
247 } 248 }
248 }, 249 },
249 250
250 _toggleURLdecoding: function(event) 251 _toggleURLdecoding: function(event)
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 }, 403 },
403 404
404 _createHeadersToggleButton: function(isHeadersTextShown) 405 _createHeadersToggleButton: function(isHeadersTextShown)
405 { 406 {
406 var toggleTitle = isHeadersTextShown ? WebInspector.UIString("view parse d") : WebInspector.UIString("view source"); 407 var toggleTitle = isHeadersTextShown ? WebInspector.UIString("view parse d") : WebInspector.UIString("view source");
407 return this._createToggleButton(toggleTitle); 408 return this._createToggleButton(toggleTitle);
408 } 409 }
409 } 410 }
410 411
411 WebInspector.ResourceHeadersView.prototype.__proto__ = WebInspector.View.prototy pe; 412 WebInspector.ResourceHeadersView.prototype.__proto__ = WebInspector.View.prototy pe;
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/inspector/network/request-parameters-decoding-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698