Chromium Code Reviews| 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 |