Index: Source/devtools/front_end/sdk/NetworkManager.js |
diff --git a/Source/devtools/front_end/sdk/NetworkManager.js b/Source/devtools/front_end/sdk/NetworkManager.js |
index c6de06105276b46ebfd36dcb6a9495498d69b8cf..6b96b0d113aae028fab97cde727a11c0e423b624 100644 |
--- a/Source/devtools/front_end/sdk/NetworkManager.js |
+++ b/Source/devtools/front_end/sdk/NetworkManager.js |
@@ -678,10 +678,9 @@ WebInspector.MultitargetNetworkManager = function() |
/** @type {!Set<string>} */ |
this._blockedURLs = new Set(); |
-} |
- |
-WebInspector.MultitargetNetworkManager.EventTypes = { |
- BlockedURLsChanged: "BlockedURLsChanged" |
+ this._blockedSetting = WebInspector.moduleSetting("blockedURLs"); |
+ this._blockedSetting.addChangeListener(this._updateBlockedURLs, this); |
+ this._updateBlockedURLs(); |
} |
WebInspector.MultitargetNetworkManager.prototype = { |
@@ -729,29 +728,37 @@ WebInspector.MultitargetNetworkManager.prototype = { |
target.networkAgent().setUserAgentOverride(this._userAgent); |
}, |
+ _updateBlockedURLs: function() |
+ { |
+ var blocked = this._blockedSetting.get(); |
+ for (var url of blocked) { |
+ if (!this._blockedURLs.has(url)) |
+ this._addBlockedURL(url); |
+ } |
+ for (var url of this._blockedURLs) { |
+ if (blocked.indexOf(url) === -1) |
+ this._removeBlockedURL(url); |
+ } |
+ }, |
+ |
/** |
* @param {string} url |
*/ |
- toggleURLBlocked: function(url) |
+ _addBlockedURL: function(url) |
{ |
- if (this._blockedURLs.has(url)) { |
- this._blockedURLs.delete(url); |
- for (var target of WebInspector.targetManager.targets()) |
- target.networkAgent().removeBlockedURL(url); |
- } else { |
- this._blockedURLs.add(url); |
- for (var target of WebInspector.targetManager.targets()) |
- target.networkAgent().addBlockedURL(url); |
- } |
- this.dispatchEventToListeners(WebInspector.MultitargetNetworkManager.EventTypes.BlockedURLsChanged); |
+ this._blockedURLs.add(url); |
+ for (var target of WebInspector.targetManager.targets()) |
+ target.networkAgent().addBlockedURL(url); |
}, |
/** |
- * @return {!Set<string>} |
+ * @param {string} url |
*/ |
- blockedURLs: function() |
+ _removeBlockedURL: function(url) |
{ |
- return this._blockedURLs; |
+ this._blockedURLs.delete(url); |
+ for (var target of WebInspector.targetManager.targets()) |
+ target.networkAgent().removeBlockedURL(url); |
}, |
__proto__: WebInspector.Object.prototype |