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

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

Issue 1889913004: [DevTools] Remove network headers filter experiment. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « third_party/WebKit/Source/devtools/front_end/main/Main.js ('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 26 matching lines...) Expand all
37 { 37 {
38 WebInspector.VBox.call(this); 38 WebInspector.VBox.call(this);
39 this.registerRequiredCSS("network/requestHeadersView.css"); 39 this.registerRequiredCSS("network/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 this._decodeRequestParameters = true; 43 this._decodeRequestParameters = true;
44 this._showRequestHeadersText = false; 44 this._showRequestHeadersText = false;
45 this._showResponseHeadersText = false; 45 this._showResponseHeadersText = false;
46 46
47 this._requestHeaderFilterSetting = WebInspector.settings.createSetting("requ estHeaderFilterSetting", "");
48
49 /** @type {?RegExp} */
50 this._filterRegex = null;
51 if (Runtime.experiments.isEnabled("networkRequestHeadersFilterInDetailsView" )) {
52 this._filterInput = this.element.createChild("input", "filter-input");
53 this._filterInput.type = "text";
54 this._filterInput.placeholder = WebInspector.UIString("Filter headers");
55 this._filterInput.addEventListener("input", this._updateFilter.bind(this ), false);
56 this._filterInput.addEventListener("keydown", this._onFilterKeyDown.bind (this), false);
57 this._filterInput.value = this._requestHeaderFilterSetting.get() || "";
58 }
59
60 var root = new TreeOutline(true); 47 var root = new TreeOutline(true);
61 root.element.classList.add("outline-disclosure"); 48 root.element.classList.add("outline-disclosure");
62 root.expandTreeElementsWhenArrowing = true; 49 root.expandTreeElementsWhenArrowing = true;
63 this.element.appendChild(root.element); 50 this.element.appendChild(root.element);
64 51
65 var generalCategory = new WebInspector.RequestHeadersView.Category(root, "ge neral", WebInspector.UIString("General")); 52 var generalCategory = new WebInspector.RequestHeadersView.Category(root, "ge neral", WebInspector.UIString("General"));
66 generalCategory.hidden = false; 53 generalCategory.hidden = false;
67 this._urlItem = generalCategory.createLeaf(); 54 this._urlItem = generalCategory.createLeaf();
68 this._requestMethodItem = generalCategory.createLeaf(); 55 this._requestMethodItem = generalCategory.createLeaf();
69 this._statusCodeItem = generalCategory.createLeaf(); 56 this._statusCodeItem = generalCategory.createLeaf();
70 this._remoteAddressItem = generalCategory.createLeaf(); 57 this._remoteAddressItem = generalCategory.createLeaf();
71 this._remoteAddressItem.hidden = true; 58 this._remoteAddressItem.hidden = true;
72 59
73 this._responseHeadersCategory = new WebInspector.RequestHeadersView.Category (root, "responseHeaders", ""); 60 this._responseHeadersCategory = new WebInspector.RequestHeadersView.Category (root, "responseHeaders", "");
74 this._requestHeadersCategory = new WebInspector.RequestHeadersView.Category( root, "requestHeaders", ""); 61 this._requestHeadersCategory = new WebInspector.RequestHeadersView.Category( root, "requestHeaders", "");
75 this._queryStringCategory = new WebInspector.RequestHeadersView.Category(roo t, "queryString", ""); 62 this._queryStringCategory = new WebInspector.RequestHeadersView.Category(roo t, "queryString", "");
76 this._formDataCategory = new WebInspector.RequestHeadersView.Category(root, "formData", ""); 63 this._formDataCategory = new WebInspector.RequestHeadersView.Category(root, "formData", "");
77 this._requestPayloadCategory = new WebInspector.RequestHeadersView.Category( root, "requestPayload", WebInspector.UIString("Request Payload")); 64 this._requestPayloadCategory = new WebInspector.RequestHeadersView.Category( root, "requestPayload", WebInspector.UIString("Request Payload"));
78
79
80 if (Runtime.experiments.isEnabled("networkRequestHeadersFilterInDetailsView" )) {
81 this._updateFilter();
82 }
83 } 65 }
84 66
85 WebInspector.RequestHeadersView.prototype = { 67 WebInspector.RequestHeadersView.prototype = {
86 _updateFilter: function()
87 {
88 var text = this._filterInput.value;
89 this._requestHeaderFilterSetting.set(text);
90 this._filterRegex = text ? new RegExp(text.escapeForRegExp(), "i") : nul l;
91 this._updateHeaders();
92 },
93
94 /**
95 * @param {!Event} event
96 */
97 _onFilterKeyDown: function(event)
98 {
99 var text = this._filterInput.value;
100 if (!text)
101 return;
102 if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Esc.code || eve nt.keyIdentifier === "U+001B") {
103 event.consume(true);
104 this._filterInput.value = "";
105 this._updateFilter();
106 }
107 },
108
109 _updateHeaders: function()
110 {
111 this._refreshRequestHeaders();
112 this._refreshResponseHeaders();
113 },
114
115 wasShown: function() 68 wasShown: function()
116 { 69 {
117 this._request.addEventListener(WebInspector.NetworkRequest.Events.Remote AddressChanged, this._refreshRemoteAddress, this); 70 this._request.addEventListener(WebInspector.NetworkRequest.Events.Remote AddressChanged, this._refreshRemoteAddress, this);
118 this._request.addEventListener(WebInspector.NetworkRequest.Events.Reques tHeadersChanged, this._refreshRequestHeaders, this); 71 this._request.addEventListener(WebInspector.NetworkRequest.Events.Reques tHeadersChanged, this._refreshRequestHeaders, this);
119 this._request.addEventListener(WebInspector.NetworkRequest.Events.Respon seHeadersChanged, this._refreshResponseHeaders, this); 72 this._request.addEventListener(WebInspector.NetworkRequest.Events.Respon seHeadersChanged, this._refreshResponseHeaders, this);
120 this._request.addEventListener(WebInspector.NetworkRequest.Events.Finish edLoading, this._refreshHTTPInformation, this); 73 this._request.addEventListener(WebInspector.NetworkRequest.Events.Finish edLoading, this._refreshHTTPInformation, this);
121 74
122 this._refreshURL(); 75 this._refreshURL();
123 this._refreshQueryString(); 76 this._refreshQueryString();
124 this._updateHeaders(); 77 this._refreshRequestHeaders();
78 this._refreshResponseHeaders();
125 this._refreshHTTPInformation(); 79 this._refreshHTTPInformation();
126 this._refreshRemoteAddress(); 80 this._refreshRemoteAddress();
127 }, 81 },
128 82
129 willHide: function() 83 willHide: function()
130 { 84 {
131 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Rem oteAddressChanged, this._refreshRemoteAddress, this); 85 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Rem oteAddressChanged, this._refreshRemoteAddress, this);
132 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Req uestHeadersChanged, this._refreshRequestHeaders, this); 86 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Req uestHeadersChanged, this._refreshRequestHeaders, this);
133 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Res ponseHeadersChanged, this._refreshResponseHeaders, this); 87 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Res ponseHeadersChanged, this._refreshResponseHeaders, this);
134 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Fin ishedLoading, this._refreshHTTPInformation, this); 88 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Fin ishedLoading, this._refreshHTTPInformation, this);
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 { 292 {
339 this._decodeRequestParameters = !this._decodeRequestParameters; 293 this._decodeRequestParameters = !this._decodeRequestParameters;
340 this._refreshQueryString(); 294 this._refreshQueryString();
341 this._refreshFormData(); 295 this._refreshFormData();
342 event.consume(); 296 event.consume();
343 }, 297 },
344 298
345 _refreshRequestHeaders: function() 299 _refreshRequestHeaders: function()
346 { 300 {
347 var treeElement = this._requestHeadersCategory; 301 var treeElement = this._requestHeadersCategory;
348
349 var headers = this._request.requestHeaders().slice(); 302 var headers = this._request.requestHeaders().slice();
350 var filterRegex = this._filterRegex;
351 if (filterRegex)
352 headers = headers.filter(function(header) { return filterRegex.test( header.name) || filterRegex.test(header.value);});
353 headers.sort(function(a, b) { return a.name.toLowerCase().compareTo(b.na me.toLowerCase()); }); 303 headers.sort(function(a, b) { return a.name.toLowerCase().compareTo(b.na me.toLowerCase()); });
354 var headersText = this._request.requestHeadersText(); 304 var headersText = this._request.requestHeadersText();
355 305
356 if (this._showRequestHeadersText && headersText) 306 if (this._showRequestHeadersText && headersText)
357 this._refreshHeadersText(WebInspector.UIString("Request Headers"), h eaders.length, headersText, treeElement); 307 this._refreshHeadersText(WebInspector.UIString("Request Headers"), h eaders.length, headersText, treeElement);
358 else 308 else
359 this._refreshHeaders(WebInspector.UIString("Request Headers"), heade rs, treeElement, headersText === undefined); 309 this._refreshHeaders(WebInspector.UIString("Request Headers"), heade rs, treeElement, headersText === undefined);
360 310
361 if (headersText) { 311 if (headersText) {
362 var toggleButton = this._createHeadersToggleButton(this._showRequest HeadersText); 312 var toggleButton = this._createHeadersToggleButton(this._showRequest HeadersText);
363 toggleButton.addEventListener("click", this._toggleRequestHeadersTex t.bind(this), false); 313 toggleButton.addEventListener("click", this._toggleRequestHeadersTex t.bind(this), false);
364 treeElement.listItemElement.appendChild(toggleButton); 314 treeElement.listItemElement.appendChild(toggleButton);
365 } 315 }
366 316
367 this._refreshFormData(); 317 this._refreshFormData();
368 }, 318 },
369 319
370 _refreshResponseHeaders: function() 320 _refreshResponseHeaders: function()
371 { 321 {
372 var treeElement = this._responseHeadersCategory; 322 var treeElement = this._responseHeadersCategory;
373 var headers = this._request.sortedResponseHeaders.slice(); 323 var headers = this._request.sortedResponseHeaders.slice();
374 var filterRegex = this._filterRegex;
375 if (filterRegex)
376 headers = headers.filter(function(header) { return filterRegex.test( header.name) || filterRegex.test(header.value);});
377 var headersText = this._request.responseHeadersText; 324 var headersText = this._request.responseHeadersText;
378 325
379 if (this._showResponseHeadersText) 326 if (this._showResponseHeadersText)
380 this._refreshHeadersText(WebInspector.UIString("Response Headers"), headers.length, headersText, treeElement); 327 this._refreshHeadersText(WebInspector.UIString("Response Headers"), headers.length, headersText, treeElement);
381 else 328 else
382 this._refreshHeaders(WebInspector.UIString("Response Headers"), head ers, treeElement); 329 this._refreshHeaders(WebInspector.UIString("Response Headers"), head ers, treeElement);
383 330
384 if (headersText) { 331 if (headersText) {
385 var toggleButton = this._createHeadersToggleButton(this._showRespons eHeadersText); 332 var toggleButton = this._createHeadersToggleButton(this._showRespons eHeadersText);
386 toggleButton.addEventListener("click", this._toggleResponseHeadersTe xt.bind(this), false); 333 toggleButton.addEventListener("click", this._toggleResponseHeadersTe xt.bind(this), false);
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 this._expandedSetting.set(true); 518 this._expandedSetting.set(true);
572 }, 519 },
573 520
574 oncollapse: function() 521 oncollapse: function()
575 { 522 {
576 this._expandedSetting.set(false); 523 this._expandedSetting.set(false);
577 }, 524 },
578 525
579 __proto__: TreeElement.prototype 526 __proto__: TreeElement.prototype
580 } 527 }
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/devtools/front_end/main/Main.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698