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

Side by Side Diff: Source/devtools/front_end/network/RequestHeadersView.js

Issue 662793002: [DevTools] Replace usages of document with custom functions. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 months 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 | Annotate | Revision Log
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 23 matching lines...) Expand all
34 * @param {!WebInspector.NetworkRequest} request 34 * @param {!WebInspector.NetworkRequest} request
35 */ 35 */
36 WebInspector.RequestHeadersView = function(request) 36 WebInspector.RequestHeadersView = function(request)
37 { 37 {
38 WebInspector.VBox.call(this); 38 WebInspector.VBox.call(this);
39 this.registerRequiredCSS("requestHeadersView.css"); 39 this.registerRequiredCSS("requestHeadersView.css");
40 this.element.classList.add("request-headers-view"); 40 this.element.classList.add("request-headers-view");
41 41
42 this._request = request; 42 this._request = request;
43 43
44 this._headersListElement = document.createElement("ol"); 44 this._headersListElement = createElement("ol");
45 this._headersListElement.className = "outline-disclosure"; 45 this._headersListElement.className = "outline-disclosure";
46 this.element.appendChild(this._headersListElement); 46 this.element.appendChild(this._headersListElement);
47 47
48 this._headersTreeOutline = new TreeOutline(this._headersListElement); 48 this._headersTreeOutline = new TreeOutline(this._headersListElement);
49 this._headersTreeOutline.expandTreeElementsWhenArrowing = true; 49 this._headersTreeOutline.expandTreeElementsWhenArrowing = true;
50 50
51 this._remoteAddressTreeElement = new TreeElement("", null, false); 51 this._remoteAddressTreeElement = new TreeElement("", null, false);
52 this._remoteAddressTreeElement.selectable = false; 52 this._remoteAddressTreeElement.selectable = false;
53 this._remoteAddressTreeElement.hidden = true; 53 this._remoteAddressTreeElement.hidden = true;
54 this._headersTreeOutline.appendChild(this._remoteAddressTreeElement); 54 this._headersTreeOutline.appendChild(this._remoteAddressTreeElement);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Fin ishedLoading, this._refreshHTTPInformation, this); 124 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Fin ishedLoading, this._refreshHTTPInformation, this);
125 }, 125 },
126 126
127 /** 127 /**
128 * @param {string} name 128 * @param {string} name
129 * @param {string} value 129 * @param {string} value
130 * @return {!DocumentFragment} 130 * @return {!DocumentFragment}
131 */ 131 */
132 _formatHeader: function(name, value) 132 _formatHeader: function(name, value)
133 { 133 {
134 var fragment = document.createDocumentFragment(); 134 var fragment = createDocumentFragment();
135 fragment.createChild("div", "header-name").textContent = name + ":"; 135 fragment.createChild("div", "header-name").textContent = name + ":";
136 fragment.createChild("div", "header-value source-code").textContent = va lue; 136 fragment.createChild("div", "header-value source-code").textContent = va lue;
137 137
138 return fragment; 138 return fragment;
139 }, 139 },
140 140
141 /** 141 /**
142 * @param {string} value 142 * @param {string} value
143 * @param {string} className 143 * @param {string} className
144 * @param {boolean} decodeParameters 144 * @param {boolean} decodeParameters
145 * @return {!Element} 145 * @return {!Element}
146 */ 146 */
147 _formatParameter: function(value, className, decodeParameters) 147 _formatParameter: function(value, className, decodeParameters)
148 { 148 {
149 var errorDecoding = false; 149 var errorDecoding = false;
150 150
151 if (decodeParameters) { 151 if (decodeParameters) {
152 value = value.replace(/\+/g, " "); 152 value = value.replace(/\+/g, " ");
153 if (value.indexOf("%") >= 0) { 153 if (value.indexOf("%") >= 0) {
154 try { 154 try {
155 value = decodeURIComponent(value); 155 value = decodeURIComponent(value);
156 } catch (e) { 156 } catch (e) {
157 errorDecoding = true; 157 errorDecoding = true;
158 } 158 }
159 } 159 }
160 } 160 }
161 var div = document.createElement("div"); 161 var div = createElement("div");
162 div.className = className; 162 div.className = className;
163 if (errorDecoding) 163 if (errorDecoding)
164 div.createChild("span", "error-message").textContent = WebInspector. UIString("(unable to decode value)"); 164 div.createChild("span", "error-message").textContent = WebInspector. UIString("(unable to decode value)");
165 else 165 else
166 div.textContent = value; 166 div.textContent = value;
167 return div; 167 return div;
168 }, 168 },
169 169
170 _refreshURL: function() 170 _refreshURL: function()
171 { 171 {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 } 204 }
205 } 205 }
206 }, 206 },
207 207
208 /** 208 /**
209 * @param {!TreeElement} treeElement 209 * @param {!TreeElement} treeElement
210 * @param {?string} sourceText 210 * @param {?string} sourceText
211 */ 211 */
212 _populateTreeElementWithSourceText: function(treeElement, sourceText) 212 _populateTreeElementWithSourceText: function(treeElement, sourceText)
213 { 213 {
214 var sourceTextElement = document.createElement("span"); 214 var sourceTextElement = createElement("span");
215 sourceTextElement.classList.add("header-value"); 215 sourceTextElement.classList.add("header-value");
216 sourceTextElement.classList.add("source-code"); 216 sourceTextElement.classList.add("source-code");
217 sourceTextElement.textContent = String(sourceText || "").trim(); 217 sourceTextElement.textContent = String(sourceText || "").trim();
218 218
219 var sourceTreeElement = new TreeElement(sourceTextElement); 219 var sourceTreeElement = new TreeElement(sourceTextElement);
220 sourceTreeElement.selectable = false; 220 sourceTreeElement.selectable = false;
221 treeElement.removeChildren(); 221 treeElement.removeChildren();
222 treeElement.appendChild(sourceTreeElement); 222 treeElement.appendChild(sourceTreeElement);
223 }, 223 },
224 224
225 /** 225 /**
226 * @param {string} title 226 * @param {string} title
227 * @param {?Array.<!WebInspector.NetworkRequest.NameValue>} params 227 * @param {?Array.<!WebInspector.NetworkRequest.NameValue>} params
228 * @param {?string} sourceText 228 * @param {?string} sourceText
229 * @param {!TreeElement} paramsTreeElement 229 * @param {!TreeElement} paramsTreeElement
230 */ 230 */
231 _refreshParams: function(title, params, sourceText, paramsTreeElement) 231 _refreshParams: function(title, params, sourceText, paramsTreeElement)
232 { 232 {
233 paramsTreeElement.removeChildren(); 233 paramsTreeElement.removeChildren();
234 234
235 paramsTreeElement.listItemElement.removeChildren(); 235 paramsTreeElement.listItemElement.removeChildren();
236 paramsTreeElement.listItemElement.createTextChild(title); 236 paramsTreeElement.listItemElement.createTextChild(title);
237 237
238 var headerCount = document.createElement("span"); 238 var headerCount = createElement("span");
239 headerCount.classList.add("header-count"); 239 headerCount.classList.add("header-count");
240 headerCount.textContent = WebInspector.UIString(" (%d)", params.length); 240 headerCount.textContent = WebInspector.UIString(" (%d)", params.length);
241 paramsTreeElement.listItemElement.appendChild(headerCount); 241 paramsTreeElement.listItemElement.appendChild(headerCount);
242 242
243 /** 243 /**
244 * @param {!Event} event 244 * @param {!Event} event
245 * @this {WebInspector.RequestHeadersView} 245 * @this {WebInspector.RequestHeadersView}
246 */ 246 */
247 function toggleViewSource(event) 247 function toggleViewSource(event)
248 { 248 {
249 paramsTreeElement._viewSource = !paramsTreeElement._viewSource; 249 paramsTreeElement._viewSource = !paramsTreeElement._viewSource;
250 this._refreshParams(title, params, sourceText, paramsTreeElement); 250 this._refreshParams(title, params, sourceText, paramsTreeElement);
251 } 251 }
252 252
253 paramsTreeElement.listItemElement.appendChild(this._createViewSourceTogg le(paramsTreeElement._viewSource, toggleViewSource.bind(this))); 253 paramsTreeElement.listItemElement.appendChild(this._createViewSourceTogg le(paramsTreeElement._viewSource, toggleViewSource.bind(this)));
254 254
255 if (paramsTreeElement._viewSource) { 255 if (paramsTreeElement._viewSource) {
256 this._populateTreeElementWithSourceText(paramsTreeElement, sourceTex t); 256 this._populateTreeElementWithSourceText(paramsTreeElement, sourceTex t);
257 return; 257 return;
258 } 258 }
259 259
260 var toggleTitle = this._decodeRequestParameters ? WebInspector.UIString( "view URL encoded") : WebInspector.UIString("view decoded"); 260 var toggleTitle = this._decodeRequestParameters ? WebInspector.UIString( "view URL encoded") : WebInspector.UIString("view decoded");
261 var toggleButton = this._createToggleButton(toggleTitle); 261 var toggleButton = this._createToggleButton(toggleTitle);
262 toggleButton.addEventListener("click", this._toggleURLDecoding.bind(this ), false); 262 toggleButton.addEventListener("click", this._toggleURLDecoding.bind(this ), false);
263 paramsTreeElement.listItemElement.appendChild(toggleButton); 263 paramsTreeElement.listItemElement.appendChild(toggleButton);
264 264
265 for (var i = 0; i < params.length; ++i) { 265 for (var i = 0; i < params.length; ++i) {
266 var paramNameValue = document.createDocumentFragment(); 266 var paramNameValue = createDocumentFragment();
267 var name = this._formatParameter(params[i].name + ":", "header-name" , this._decodeRequestParameters); 267 var name = this._formatParameter(params[i].name + ":", "header-name" , this._decodeRequestParameters);
268 var value = this._formatParameter(params[i].value, "header-value sou rce-code", this._decodeRequestParameters); 268 var value = this._formatParameter(params[i].value, "header-value sou rce-code", this._decodeRequestParameters);
269 paramNameValue.appendChild(name); 269 paramNameValue.appendChild(name);
270 paramNameValue.appendChild(value); 270 paramNameValue.appendChild(value);
271 271
272 var parmTreeElement = new TreeElement(paramNameValue, null, false); 272 var parmTreeElement = new TreeElement(paramNameValue, null, false);
273 parmTreeElement.selectable = false; 273 parmTreeElement.selectable = false;
274 paramsTreeElement.appendChild(parmTreeElement); 274 paramsTreeElement.appendChild(parmTreeElement);
275 } 275 }
276 }, 276 },
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 }, 375 },
376 376
377 _refreshHTTPInformation: function() 377 _refreshHTTPInformation: function()
378 { 378 {
379 var requestMethodElement = this._requestMethodTreeElement; 379 var requestMethodElement = this._requestMethodTreeElement;
380 requestMethodElement.hidden = !this._request.statusCode; 380 requestMethodElement.hidden = !this._request.statusCode;
381 var statusCodeElement = this._statusCodeTreeElement; 381 var statusCodeElement = this._statusCodeTreeElement;
382 statusCodeElement.hidden = !this._request.statusCode; 382 statusCodeElement.hidden = !this._request.statusCode;
383 383
384 if (this._request.statusCode) { 384 if (this._request.statusCode) {
385 var statusCodeFragment = document.createDocumentFragment(); 385 var statusCodeFragment = createDocumentFragment();
386 statusCodeFragment.createChild("div", "header-name").textContent = W ebInspector.UIString("Status Code") + ":"; 386 statusCodeFragment.createChild("div", "header-name").textContent = W ebInspector.UIString("Status Code") + ":";
387 387
388 var statusCodeImage = statusCodeFragment.createChild("div", "resourc e-status-image"); 388 var statusCodeImage = statusCodeFragment.createChild("div", "resourc e-status-image");
389 statusCodeImage.title = this._request.statusCode + " " + this._reque st.statusText; 389 statusCodeImage.title = this._request.statusCode + " " + this._reque st.statusText;
390 390
391 if (this._request.statusCode < 300 || this._request.statusCode === 3 04) 391 if (this._request.statusCode < 300 || this._request.statusCode === 3 04)
392 statusCodeImage.classList.add("green-ball"); 392 statusCodeImage.classList.add("green-ball");
393 else if (this._request.statusCode < 400) 393 else if (this._request.statusCode < 400)
394 statusCodeImage.classList.add("orange-ball"); 394 statusCodeImage.classList.add("orange-ball");
395 else 395 else
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 */ 434 */
435 _refreshHeaders: function(title, headers, headersTreeElement, provisionalHea ders) 435 _refreshHeaders: function(title, headers, headersTreeElement, provisionalHea ders)
436 { 436 {
437 headersTreeElement.removeChildren(); 437 headersTreeElement.removeChildren();
438 438
439 var length = headers.length; 439 var length = headers.length;
440 this._refreshHeadersTitle(title, headersTreeElement, length); 440 this._refreshHeadersTitle(title, headersTreeElement, length);
441 441
442 if (provisionalHeaders) { 442 if (provisionalHeaders) {
443 var cautionText = WebInspector.UIString("Provisional headers are sho wn"); 443 var cautionText = WebInspector.UIString("Provisional headers are sho wn");
444 var cautionFragment = document.createDocumentFragment(); 444 var cautionFragment = createDocumentFragment();
445 cautionFragment.createChild("div", "warning-icon-small"); 445 cautionFragment.createChild("div", "warning-icon-small");
446 cautionFragment.createChild("div", "caution").textContent = cautionT ext; 446 cautionFragment.createChild("div", "caution").textContent = cautionT ext;
447 var cautionTreeElement = new TreeElement(cautionFragment); 447 var cautionTreeElement = new TreeElement(cautionFragment);
448 cautionTreeElement.selectable = false; 448 cautionTreeElement.selectable = false;
449 headersTreeElement.appendChild(cautionTreeElement); 449 headersTreeElement.appendChild(cautionTreeElement);
450 } 450 }
451 451
452 headersTreeElement.hidden = !length && !provisionalHeaders; 452 headersTreeElement.hidden = !length && !provisionalHeaders;
453 for (var i = 0; i < length; ++i) { 453 for (var i = 0; i < length; ++i) {
454 var headerTreeElement = new TreeElement(this._formatHeader(headers[i ].name, headers[i].value)); 454 var headerTreeElement = new TreeElement(this._formatHeader(headers[i ].name, headers[i].value));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 this._showResponseHeadersText = !this._showResponseHeadersText; 495 this._showResponseHeadersText = !this._showResponseHeadersText;
496 this._refreshResponseHeaders(); 496 this._refreshResponseHeaders();
497 }, 497 },
498 498
499 /** 499 /**
500 * @param {string} title 500 * @param {string} title
501 * @return {!Element} 501 * @return {!Element}
502 */ 502 */
503 _createToggleButton: function(title) 503 _createToggleButton: function(title)
504 { 504 {
505 var button = document.createElement("span"); 505 var button = createElement("span");
506 button.classList.add("header-toggle"); 506 button.classList.add("header-toggle");
507 button.textContent = title; 507 button.textContent = title;
508 return button; 508 return button;
509 }, 509 },
510 510
511 /** 511 /**
512 * @param {boolean} isHeadersTextShown 512 * @param {boolean} isHeadersTextShown
513 * @return {!Element} 513 * @return {!Element}
514 */ 514 */
515 _createHeadersToggleButton: function(isHeadersTextShown) 515 _createHeadersToggleButton: function(isHeadersTextShown)
516 { 516 {
517 var toggleTitle = isHeadersTextShown ? WebInspector.UIString("view parse d") : WebInspector.UIString("view source"); 517 var toggleTitle = isHeadersTextShown ? WebInspector.UIString("view parse d") : WebInspector.UIString("view source");
518 return this._createToggleButton(toggleTitle); 518 return this._createToggleButton(toggleTitle);
519 }, 519 },
520 520
521 __proto__: WebInspector.VBox.prototype 521 __proto__: WebInspector.VBox.prototype
522 } 522 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/network/RequestHTMLView.js ('k') | Source/devtools/front_end/network/RequestTimingView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698