Index: third_party/WebKit/Source/devtools/front_end/network/BlockedURLsPane.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/network/BlockedURLsPane.js b/third_party/WebKit/Source/devtools/front_end/network/BlockedURLsPane.js |
index f3ce22d34fa74d9b99b7e2ccb13cc20fdc80befe..3a7e950b87485762edd10636f54b44b1dfc1124e 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/network/BlockedURLsPane.js |
+++ b/third_party/WebKit/Source/devtools/front_end/network/BlockedURLsPane.js |
@@ -1,311 +1,286 @@ |
// Copyright (c) 2015 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
- |
/** |
- * @constructor |
- * @extends {WebInspector.VBox} |
+ * @unrestricted |
*/ |
-WebInspector.BlockedURLsPane = function() |
-{ |
- WebInspector.VBox.call(this, true); |
- this.registerRequiredCSS("network/blockedURLsPane.css"); |
- this.contentElement.classList.add("blocked-urls-pane"); |
+WebInspector.BlockedURLsPane = class extends WebInspector.VBox { |
+ constructor() { |
+ super(true); |
+ this.registerRequiredCSS('network/blockedURLsPane.css'); |
+ this.contentElement.classList.add('blocked-urls-pane'); |
WebInspector.BlockedURLsPane._instance = this; |
- this._blockedURLsSetting = WebInspector.moduleSetting("blockedURLs"); |
+ this._blockedURLsSetting = WebInspector.moduleSetting('blockedURLs'); |
this._blockedURLsSetting.addChangeListener(this._update, this); |
- this._toolbar = new WebInspector.Toolbar("", this.contentElement); |
- this._toolbar.element.addEventListener("click", (e) => e.consume()); |
- var addButton = new WebInspector.ToolbarButton(WebInspector.UIString("Add pattern"), "add-toolbar-item"); |
- addButton.addEventListener("click", this._addButtonClicked.bind(this)); |
+ this._toolbar = new WebInspector.Toolbar('', this.contentElement); |
+ this._toolbar.element.addEventListener('click', (e) => e.consume()); |
+ var addButton = new WebInspector.ToolbarButton(WebInspector.UIString('Add pattern'), 'add-toolbar-item'); |
+ addButton.addEventListener('click', this._addButtonClicked.bind(this)); |
this._toolbar.appendToolbarItem(addButton); |
- var clearButton = new WebInspector.ToolbarButton(WebInspector.UIString("Remove all"), "clear-toolbar-item"); |
- clearButton.addEventListener("click", this._removeAll.bind(this)); |
+ var clearButton = new WebInspector.ToolbarButton(WebInspector.UIString('Remove all'), 'clear-toolbar-item'); |
+ clearButton.addEventListener('click', this._removeAll.bind(this)); |
this._toolbar.appendToolbarItem(clearButton); |
- this._emptyElement = this.contentElement.createChild("div", "no-blocked-urls"); |
- this._emptyElement.createChild("span").textContent = WebInspector.UIString("Requests are not blocked. "); |
- var addLink = this._emptyElement.createChild("span", "link"); |
- addLink.textContent = WebInspector.UIString("Add pattern."); |
- addLink.href = ""; |
- addLink.addEventListener("click", this._addButtonClicked.bind(this), false); |
- this._emptyElement.addEventListener("contextmenu", this._emptyElementContextMenu.bind(this), true); |
+ this._emptyElement = this.contentElement.createChild('div', 'no-blocked-urls'); |
+ this._emptyElement.createChild('span').textContent = WebInspector.UIString('Requests are not blocked. '); |
+ var addLink = this._emptyElement.createChild('span', 'link'); |
+ addLink.textContent = WebInspector.UIString('Add pattern.'); |
+ addLink.href = ''; |
+ addLink.addEventListener('click', this._addButtonClicked.bind(this), false); |
+ this._emptyElement.addEventListener('contextmenu', this._emptyElementContextMenu.bind(this), true); |
- this._listElement = this.contentElement.createChild("div", "blocked-urls-list"); |
+ this._listElement = this.contentElement.createChild('div', 'blocked-urls-list'); |
/** @type {!Map<string, number>} */ |
this._blockedCountForUrl = new Map(); |
- WebInspector.targetManager.addModelListener(WebInspector.NetworkManager, WebInspector.NetworkManager.Events.RequestFinished, this._onRequestFinished, this); |
+ WebInspector.targetManager.addModelListener( |
+ WebInspector.NetworkManager, WebInspector.NetworkManager.Events.RequestFinished, this._onRequestFinished, this); |
this._updateThrottler = new WebInspector.Throttler(200); |
this._update(); |
-}; |
- |
-WebInspector.BlockedURLsPane.prototype = { |
- /** |
- * @param {!Event} event |
- */ |
- _emptyElementContextMenu: function(event) |
- { |
- var contextMenu = new WebInspector.ContextMenu(event); |
- contextMenu.appendItem(WebInspector.UIString.capitalize("Add ^pattern"), this._addButtonClicked.bind(this)); |
- contextMenu.show(); |
- }, |
- |
- _addButtonClicked: function() |
- { |
- this._emptyElement.classList.add("hidden"); |
- var element = this._createElement("", this._blockedURLsSetting.get().length); |
- this._listElement.appendChild(element); |
- element.scrollIntoViewIfNeeded(); |
- this._edit("", element, this._addBlockedURL.bind(this)); |
- }, |
+ } |
- /** |
- * @param {string} content |
- * @param {!Element} element |
- * @param {function(string)} onAccept |
- * @private |
- */ |
- _edit: function(content, element, onAccept) |
- { |
- this._editing = true; |
- |
- element.classList.add("blocked-url-editing"); |
- var input = element.createChild("input"); |
- input.setAttribute("type", "text"); |
- input.value = content; |
- input.placeholder = WebInspector.UIString("Text pattern to block matching requests; use * for wildcard"); |
- input.addEventListener("blur", commit.bind(this), false); |
- input.addEventListener("keydown", keydown.bind(this), false); |
- input.focus(); |
- |
- /** |
- * @this {WebInspector.BlockedURLsPane} |
- */ |
- function finish() |
- { |
- this._editing = false; |
- element.removeChild(input); |
- element.classList.remove("blocked-url-editing"); |
- } |
- |
- /** |
- * @this {WebInspector.BlockedURLsPane} |
- */ |
- function commit() |
- { |
- if (!this._editing) |
- return; |
- var text = input.value.trim(); |
- finish.call(this); |
- if (text) |
- onAccept(text); |
- else |
- this._update(); |
- } |
- |
- /** |
- * @this {WebInspector.BlockedURLsPane} |
- * @param {!Event} event |
- */ |
- function keydown(event) |
- { |
- if (isEnterKey(event)) { |
- event.consume(); |
- commit.call(this); |
- } else if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Esc.code || event.key === "Escape") { |
- event.consume(); |
- finish.call(this); |
- this._update(); |
- } |
- } |
- }, |
- |
- /** |
- * @param {string} url |
- */ |
- _addBlockedURL: function(url) |
- { |
- var blocked = this._blockedURLsSetting.get(); |
- blocked.push(url); |
- this._blockedURLsSetting.set(blocked); |
- }, |
+ static reset() { |
+ if (WebInspector.BlockedURLsPane._instance) |
+ WebInspector.BlockedURLsPane._instance.reset(); |
+ } |
+ |
+ /** |
+ * @param {!Event} event |
+ */ |
+ _emptyElementContextMenu(event) { |
+ var contextMenu = new WebInspector.ContextMenu(event); |
+ contextMenu.appendItem(WebInspector.UIString.capitalize('Add ^pattern'), this._addButtonClicked.bind(this)); |
+ contextMenu.show(); |
+ } |
+ |
+ _addButtonClicked() { |
+ this._emptyElement.classList.add('hidden'); |
+ var element = this._createElement('', this._blockedURLsSetting.get().length); |
+ this._listElement.appendChild(element); |
+ element.scrollIntoViewIfNeeded(); |
+ this._edit('', element, this._addBlockedURL.bind(this)); |
+ } |
+ |
+ /** |
+ * @param {string} content |
+ * @param {!Element} element |
+ * @param {function(string)} onAccept |
+ * @private |
+ */ |
+ _edit(content, element, onAccept) { |
+ this._editing = true; |
+ |
+ element.classList.add('blocked-url-editing'); |
+ var input = element.createChild('input'); |
+ input.setAttribute('type', 'text'); |
+ input.value = content; |
+ input.placeholder = WebInspector.UIString('Text pattern to block matching requests; use * for wildcard'); |
+ input.addEventListener('blur', commit.bind(this), false); |
+ input.addEventListener('keydown', keydown.bind(this), false); |
+ input.focus(); |
/** |
- * @param {number} index |
+ * @this {WebInspector.BlockedURLsPane} |
*/ |
- _removeBlockedURL: function(index) |
- { |
- var blocked = this._blockedURLsSetting.get(); |
- blocked.splice(index, 1); |
- this._blockedURLsSetting.set(blocked); |
- }, |
+ function finish() { |
+ this._editing = false; |
+ element.removeChild(input); |
+ element.classList.remove('blocked-url-editing'); |
+ } |
/** |
- * @param {number} index |
- * @param {string} url |
+ * @this {WebInspector.BlockedURLsPane} |
*/ |
- _changeBlockedURL: function(index, url) |
- { |
- var blocked = this._blockedURLsSetting.get(); |
- blocked.splice(index, 1, url); |
- this._blockedURLsSetting.set(blocked); |
- }, |
- |
- _removeAll: function() |
- { |
- this._blockedURLsSetting.set([]); |
- }, |
+ function commit() { |
+ if (!this._editing) |
+ return; |
+ var text = input.value.trim(); |
+ finish.call(this); |
+ if (text) |
+ onAccept(text); |
+ else |
+ this._update(); |
+ } |
/** |
- * @param {number} index |
+ * @this {WebInspector.BlockedURLsPane} |
* @param {!Event} event |
*/ |
- _contextMenu: function(index, event) |
- { |
- var contextMenu = new WebInspector.ContextMenu(event); |
- contextMenu.appendItem(WebInspector.UIString.capitalize("Add ^pattern"), this._addButtonClicked.bind(this)); |
- contextMenu.appendItem(WebInspector.UIString.capitalize("Remove ^pattern"), this._removeBlockedURL.bind(this, index)); |
- contextMenu.appendItem(WebInspector.UIString.capitalize("Remove ^all"), this._removeAll.bind(this)); |
- contextMenu.show(); |
- }, |
- |
- /** |
- * @return {!Promise<?>} |
- */ |
- _update: function() |
- { |
- if (this._editing) |
- return Promise.resolve(); |
- |
- this._listElement.removeChildren(); |
- var blocked = this._blockedURLsSetting.get(); |
- for (var index = 0; index < blocked.length; index++) |
- this._listElement.appendChild(this._createElement(blocked[index], index)); |
- |
- this._emptyElement.classList.toggle("hidden", !!blocked.length); |
- return Promise.resolve(); |
- }, |
- |
- /** |
- * @param {string} url |
- * @param {number} index |
- * @return {!Element} |
- */ |
- _createElement: function(url, index) |
- { |
- var element = createElementWithClass("div", "blocked-url"); |
- |
- var label = element.createChild("div", "blocked-url-text"); |
- label.textContent = url; |
- |
- var count = this._blockedRequestsCount(url); |
- var countElement = element.createChild("div", "blocked-count monospace"); |
- countElement.textContent = String.sprintf("[%d]", count); |
- countElement.title = WebInspector.UIString(count === 1 ? "%d request blocked by this pattern" : "%d requests blocked by this pattern", count); |
- |
- var removeButton = element.createChild("div", "remove-button"); |
- removeButton.title = WebInspector.UIString("Remove"); |
- removeButton.addEventListener("click", this._removeBlockedURL.bind(this, index), false); |
- |
- element.addEventListener("contextmenu", this._contextMenu.bind(this, index), true); |
- element.addEventListener("dblclick", this._edit.bind(this, url, element, this._changeBlockedURL.bind(this, index)), false); |
- return element; |
- }, |
- |
- /** |
- * @param {string} url |
- * @return {number} |
- */ |
- _blockedRequestsCount: function(url) |
- { |
- if (!url) |
- return 0; |
- |
- var result = 0; |
- for (var blockedUrl of this._blockedCountForUrl.keys()) { |
- if (this._matches(url, blockedUrl)) |
- result += this._blockedCountForUrl.get(blockedUrl); |
- } |
- return result; |
- }, |
- |
- /** |
- * @param {string} pattern |
- * @param {string} url |
- * @return {boolean} |
- */ |
- _matches: function(pattern, url) |
- { |
- var pos = 0; |
- var parts = pattern.split("*"); |
- for (var index = 0; index < parts.length; index++) { |
- var part = parts[index]; |
- if (!part.length) |
- continue; |
- pos = url.indexOf(part, pos); |
- if (pos === -1) |
- return false; |
- pos += part.length; |
- } |
- return true; |
- }, |
- |
- reset: function() |
- { |
- this._blockedCountForUrl.clear(); |
- }, |
- |
- /** |
- * @param {!WebInspector.Event} event |
- */ |
- _onRequestFinished: function(event) |
- { |
- var request = /** @type {!WebInspector.NetworkRequest} */ (event.data); |
- if (request.wasBlocked()) { |
- var count = this._blockedCountForUrl.get(request.url) || 0; |
- this._blockedCountForUrl.set(request.url, count + 1); |
- this._updateThrottler.schedule(this._update.bind(this)); |
- } |
- }, |
- |
- __proto__: WebInspector.VBox.prototype |
+ function keydown(event) { |
+ if (isEnterKey(event)) { |
+ event.consume(); |
+ commit.call(this); |
+ } else if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Esc.code || event.key === 'Escape') { |
+ event.consume(); |
+ finish.call(this); |
+ this._update(); |
+ } |
+ } |
+ } |
+ |
+ /** |
+ * @param {string} url |
+ */ |
+ _addBlockedURL(url) { |
+ var blocked = this._blockedURLsSetting.get(); |
+ blocked.push(url); |
+ this._blockedURLsSetting.set(blocked); |
+ } |
+ |
+ /** |
+ * @param {number} index |
+ */ |
+ _removeBlockedURL(index) { |
+ var blocked = this._blockedURLsSetting.get(); |
+ blocked.splice(index, 1); |
+ this._blockedURLsSetting.set(blocked); |
+ } |
+ |
+ /** |
+ * @param {number} index |
+ * @param {string} url |
+ */ |
+ _changeBlockedURL(index, url) { |
+ var blocked = this._blockedURLsSetting.get(); |
+ blocked.splice(index, 1, url); |
+ this._blockedURLsSetting.set(blocked); |
+ } |
+ |
+ _removeAll() { |
+ this._blockedURLsSetting.set([]); |
+ } |
+ |
+ /** |
+ * @param {number} index |
+ * @param {!Event} event |
+ */ |
+ _contextMenu(index, event) { |
+ var contextMenu = new WebInspector.ContextMenu(event); |
+ contextMenu.appendItem(WebInspector.UIString.capitalize('Add ^pattern'), this._addButtonClicked.bind(this)); |
+ contextMenu.appendItem( |
+ WebInspector.UIString.capitalize('Remove ^pattern'), this._removeBlockedURL.bind(this, index)); |
+ contextMenu.appendItem(WebInspector.UIString.capitalize('Remove ^all'), this._removeAll.bind(this)); |
+ contextMenu.show(); |
+ } |
+ |
+ /** |
+ * @return {!Promise<?>} |
+ */ |
+ _update() { |
+ if (this._editing) |
+ return Promise.resolve(); |
+ |
+ this._listElement.removeChildren(); |
+ var blocked = this._blockedURLsSetting.get(); |
+ for (var index = 0; index < blocked.length; index++) |
+ this._listElement.appendChild(this._createElement(blocked[index], index)); |
+ |
+ this._emptyElement.classList.toggle('hidden', !!blocked.length); |
+ return Promise.resolve(); |
+ } |
+ |
+ /** |
+ * @param {string} url |
+ * @param {number} index |
+ * @return {!Element} |
+ */ |
+ _createElement(url, index) { |
+ var element = createElementWithClass('div', 'blocked-url'); |
+ |
+ var label = element.createChild('div', 'blocked-url-text'); |
+ label.textContent = url; |
+ |
+ var count = this._blockedRequestsCount(url); |
+ var countElement = element.createChild('div', 'blocked-count monospace'); |
+ countElement.textContent = String.sprintf('[%d]', count); |
+ countElement.title = WebInspector.UIString( |
+ count === 1 ? '%d request blocked by this pattern' : '%d requests blocked by this pattern', count); |
+ |
+ var removeButton = element.createChild('div', 'remove-button'); |
+ removeButton.title = WebInspector.UIString('Remove'); |
+ removeButton.addEventListener('click', this._removeBlockedURL.bind(this, index), false); |
+ |
+ element.addEventListener('contextmenu', this._contextMenu.bind(this, index), true); |
+ element.addEventListener( |
+ 'dblclick', this._edit.bind(this, url, element, this._changeBlockedURL.bind(this, index)), false); |
+ return element; |
+ } |
+ |
+ /** |
+ * @param {string} url |
+ * @return {number} |
+ */ |
+ _blockedRequestsCount(url) { |
+ if (!url) |
+ return 0; |
+ |
+ var result = 0; |
+ for (var blockedUrl of this._blockedCountForUrl.keys()) { |
+ if (this._matches(url, blockedUrl)) |
+ result += this._blockedCountForUrl.get(blockedUrl); |
+ } |
+ return result; |
+ } |
+ |
+ /** |
+ * @param {string} pattern |
+ * @param {string} url |
+ * @return {boolean} |
+ */ |
+ _matches(pattern, url) { |
+ var pos = 0; |
+ var parts = pattern.split('*'); |
+ for (var index = 0; index < parts.length; index++) { |
+ var part = parts[index]; |
+ if (!part.length) |
+ continue; |
+ pos = url.indexOf(part, pos); |
+ if (pos === -1) |
+ return false; |
+ pos += part.length; |
+ } |
+ return true; |
+ } |
+ |
+ reset() { |
+ this._blockedCountForUrl.clear(); |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.Event} event |
+ */ |
+ _onRequestFinished(event) { |
+ var request = /** @type {!WebInspector.NetworkRequest} */ (event.data); |
+ if (request.wasBlocked()) { |
+ var count = this._blockedCountForUrl.get(request.url) || 0; |
+ this._blockedCountForUrl.set(request.url, count + 1); |
+ this._updateThrottler.schedule(this._update.bind(this)); |
+ } |
+ } |
}; |
- |
/** @type {?WebInspector.BlockedURLsPane} */ |
WebInspector.BlockedURLsPane._instance = null; |
-WebInspector.BlockedURLsPane.reset = function() |
-{ |
- if (WebInspector.BlockedURLsPane._instance) |
- WebInspector.BlockedURLsPane._instance.reset(); |
-}; |
/** |
- * @constructor |
* @implements {WebInspector.ActionDelegate} |
+ * @unrestricted |
*/ |
-WebInspector.BlockedURLsPane.ActionDelegate = function() |
-{ |
+WebInspector.BlockedURLsPane.ActionDelegate = class { |
+ /** |
+ * @override |
+ * @param {!WebInspector.Context} context |
+ * @param {string} actionId |
+ * @return {boolean} |
+ */ |
+ handleAction(context, actionId) { |
+ WebInspector.viewManager.showView('network.blocked-urls'); |
+ return true; |
+ } |
}; |
- |
-WebInspector.BlockedURLsPane.ActionDelegate.prototype = { |
- /** |
- * @override |
- * @param {!WebInspector.Context} context |
- * @param {string} actionId |
- * @return {boolean} |
- */ |
- handleAction: function(context, actionId) |
- { |
- WebInspector.viewManager.showView("network.blocked-urls"); |
- return true; |
- } |
-}; |
- |