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

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

Issue 300913002: DevTools: show HTTP headers of cached resources in network panel. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Addressed comments Created 6 years, 6 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
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 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 369
370 if (headersText) { 370 if (headersText) {
371 var toggleButton = this._createHeadersToggleButton(this._showRespons eHeadersText); 371 var toggleButton = this._createHeadersToggleButton(this._showRespons eHeadersText);
372 toggleButton.addEventListener("click", this._toggleResponseHeadersTe xt.bind(this), false); 372 toggleButton.addEventListener("click", this._toggleResponseHeadersTe xt.bind(this), false);
373 treeElement.listItemElement.appendChild(toggleButton); 373 treeElement.listItemElement.appendChild(toggleButton);
374 } 374 }
375 }, 375 },
376 376
377 _refreshHTTPInformation: function() 377 _refreshHTTPInformation: function()
378 { 378 {
379 this.element.classList.toggle("cached", this._request.cached);
380
379 var requestMethodElement = this._requestMethodTreeElement; 381 var requestMethodElement = this._requestMethodTreeElement;
380 requestMethodElement.hidden = !this._request.statusCode; 382 requestMethodElement.hidden = !this._request.statusCode;
381 var statusCodeElement = this._statusCodeTreeElement; 383 var statusCodeElement = this._statusCodeTreeElement;
382 statusCodeElement.hidden = !this._request.statusCode; 384 statusCodeElement.hidden = !this._request.statusCode;
383 385
384 if (this._request.statusCode) { 386 if (this._request.statusCode) {
385 var statusCodeFragment = document.createDocumentFragment(); 387 var statusCodeFragment = document.createDocumentFragment();
386 statusCodeFragment.createChild("div", "header-name").textContent = W ebInspector.UIString("Status Code") + ":"; 388 statusCodeFragment.createChild("div", "header-name").textContent = W ebInspector.UIString("Status Code") + ":";
387 389
388 var statusCodeImage = statusCodeFragment.createChild("div", "resourc e-status-image"); 390 var statusCodeImage = statusCodeFragment.createChild("div", "resourc e-status-image");
389 statusCodeImage.title = this._request.statusCode + " " + this._reque st.statusText; 391 statusCodeImage.title = this._request.statusCode + " " + this._reque st.statusText;
390 392
391 if (this._request.statusCode < 300 || this._request.statusCode === 3 04) 393 if (this._request.statusCode < 300 || this._request.statusCode === 3 04)
392 statusCodeImage.classList.add("green-ball"); 394 statusCodeImage.classList.add("green-ball");
393 else if (this._request.statusCode < 400) 395 else if (this._request.statusCode < 400)
394 statusCodeImage.classList.add("orange-ball"); 396 statusCodeImage.classList.add("orange-ball");
395 else 397 else
396 statusCodeImage.classList.add("red-ball"); 398 statusCodeImage.classList.add("red-ball");
397 399
398 requestMethodElement.title = this._formatHeader(WebInspector.UIStrin g("Request Method"), this._request.requestMethod); 400 requestMethodElement.title = this._formatHeader(WebInspector.UIStrin g("Request Method"), this._request.requestMethod);
399 401
400 var value = statusCodeFragment.createChild("div", "header-value sour ce-code"); 402 var status = this._request.statusCode + " " + this._request.statusTe xt;
401 value.textContent = this._request.statusCode + " " + this._request.s tatusText;
402 if (this._request.cached) 403 if (this._request.cached)
403 value.createChild("span", "status-from-cache").textContent = " " + WebInspector.UIString("(from cache)"); 404 status += " " + WebInspector.UIString("(from cache)");
405 statusCodeFragment.createChild("div", "header-value source-code").te xtContent = status;
404 406
405 statusCodeElement.title = statusCodeFragment; 407 statusCodeElement.title = statusCodeFragment;
406 } 408 }
407 }, 409 },
408 410
409 /** 411 /**
410 * @param {string} title 412 * @param {string} title
411 * @param {!TreeElement} headersTreeElement 413 * @param {!TreeElement} headersTreeElement
412 * @param {number} headersLength 414 * @param {number} headersLength
413 */ 415 */
414 _refreshHeadersTitle: function(title, headersTreeElement, headersLength) 416 _refreshHeadersTitle: function(title, headersTreeElement, headersLength)
415 { 417 {
416 headersTreeElement.listItemElement.removeChildren(); 418 headersTreeElement.listItemElement.removeChildren();
417 headersTreeElement.listItemElement.createTextChild(title); 419 headersTreeElement.listItemElement.createTextChild(title);
418 420
419 var headerCount = WebInspector.UIString(" (%d)", headersLength); 421 var headerCount = WebInspector.UIString(" (%d)", headersLength);
420 headersTreeElement.listItemElement.createChild("span", "header-count").t extContent = headerCount; 422 headersTreeElement.listItemElement.createChild("span", "header-count").t extContent = headerCount;
421 }, 423 },
422 424
423 /** 425 /**
424 * @param {string} title 426 * @param {string} title
425 * @param {!Array.<!WebInspector.NetworkRequest.NameValue>} headers 427 * @param {!Array.<!WebInspector.NetworkRequest.NameValue>} headers
426 * @param {!TreeElement} headersTreeElement 428 * @param {!TreeElement} headersTreeElement
427 * @param {boolean=} showCaution 429 * @param {boolean=} provisionalHeaders
428 */ 430 */
429 _refreshHeaders: function(title, headers, headersTreeElement, showCaution) 431 _refreshHeaders: function(title, headers, headersTreeElement, provisionalHea ders)
430 { 432 {
431 headersTreeElement.removeChildren(); 433 headersTreeElement.removeChildren();
432 434
433 var length = headers.length; 435 var length = headers.length;
434 this._refreshHeadersTitle(title, headersTreeElement, length); 436 this._refreshHeadersTitle(title, headersTreeElement, length);
435 437
438 var showCaution = provisionalHeaders && !this._request.cached;
vsevik 2014/06/02 14:49:27 I think we should always show this warning for pro
eustas 2014/06/03 05:56:42 Done.
439
436 if (showCaution) { 440 if (showCaution) {
437 var cautionText = WebInspector.UIString("Provisional headers are sho wn"); 441 var cautionText = WebInspector.UIString("Provisional headers are sho wn");
438 var cautionFragment = document.createDocumentFragment(); 442 var cautionFragment = document.createDocumentFragment();
439 cautionFragment.createChild("div", "warning-icon-small"); 443 cautionFragment.createChild("div", "warning-icon-small");
440 cautionFragment.createChild("div", "caution").textContent = cautionT ext; 444 cautionFragment.createChild("div", "caution").textContent = cautionT ext;
441 var cautionTreeElement = new TreeElement(cautionFragment); 445 var cautionTreeElement = new TreeElement(cautionFragment);
442 cautionTreeElement.selectable = false; 446 cautionTreeElement.selectable = false;
443 headersTreeElement.appendChild(cautionTreeElement); 447 headersTreeElement.appendChild(cautionTreeElement);
444 } 448 }
445 449
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 * @return {!Element} 511 * @return {!Element}
508 */ 512 */
509 _createHeadersToggleButton: function(isHeadersTextShown) 513 _createHeadersToggleButton: function(isHeadersTextShown)
510 { 514 {
511 var toggleTitle = isHeadersTextShown ? WebInspector.UIString("view parse d") : WebInspector.UIString("view source"); 515 var toggleTitle = isHeadersTextShown ? WebInspector.UIString("view parse d") : WebInspector.UIString("view source");
512 return this._createToggleButton(toggleTitle); 516 return this._createToggleButton(toggleTitle);
513 }, 517 },
514 518
515 __proto__: WebInspector.VBox.prototype 519 __proto__: WebInspector.VBox.prototype
516 } 520 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698