Index: third_party/WebKit/Source/devtools/front_end/bindings/BlackboxManager.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/BlackboxManager.js b/third_party/WebKit/Source/devtools/front_end/bindings/BlackboxManager.js |
index 4dee9130aa0fd7b3d361f753205ce6eaeddc5fbd..fc7674f9a25bb49bf90f43982271df417df6fd41 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/bindings/BlackboxManager.js |
+++ b/third_party/WebKit/Source/devtools/front_end/bindings/BlackboxManager.js |
@@ -19,6 +19,9 @@ Bindings.BlackboxManager = class { |
Common.moduleSetting('skipStackFramesPattern').addChangeListener(this._patternChanged.bind(this)); |
Common.moduleSetting('skipContentScripts').addChangeListener(this._patternChanged.bind(this)); |
+ /** @type {!Array<function()>} */ |
kozy
2017/01/18 23:42:51
Set?
dgozman
2017/01/20 02:04:58
Done.
|
+ this._listeners = []; |
+ |
/** @type {!Map<!SDK.DebuggerModel, !Map<string, !Array<!Protocol.Debugger.ScriptPosition>>>} */ |
this._debuggerModelData = new Map(); |
/** @type {!Map<string, boolean>} */ |
@@ -28,19 +31,17 @@ Bindings.BlackboxManager = class { |
} |
/** |
- * @param {function(!Common.Event)} listener |
- * @param {!Object=} thisObject |
+ * @param {function()} listener |
*/ |
- addChangeListener(listener, thisObject) { |
- Common.moduleSetting('skipStackFramesPattern').addChangeListener(listener, thisObject); |
+ addChangeListener(listener) { |
+ this._listeners.push(listener); |
} |
/** |
- * @param {function(!Common.Event)} listener |
- * @param {!Object=} thisObject |
+ * @param {function()} listener |
*/ |
- removeChangeListener(listener, thisObject) { |
- Common.moduleSetting('skipStackFramesPattern').removeChangeListener(listener, thisObject); |
+ removeChangeListener(listener) { |
+ this._listeners.remove(listener); |
} |
/** |
@@ -285,7 +286,12 @@ Bindings.BlackboxManager = class { |
promises.push(this._addScript(script).then(loadSourceMap.bind(this, script))); |
} |
} |
- Promise.all(promises).then(this._patternChangeFinishedForTests.bind(this)); |
+ Promise.all(promises).then(() => { |
+ var listeners = this._listeners.slice(); |
+ for (var listener of listeners) |
+ listener(); |
+ this._patternChangeFinishedForTests(); |
+ }); |
/** |
* @param {!SDK.Script} script |