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 a848f1a8549fded057d40b0031014aa855109dd4..f694af2fb3787f4c9036a23301ecc9b708035de3 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/bindings/BlackboxManager.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/bindings/BlackboxManager.js |
| @@ -6,9 +6,12 @@ |
| * @constructor |
| * @param {!WebInspector.DebuggerWorkspaceBinding} debuggerWorkspaceBinding |
| * @param {!WebInspector.NetworkMapping} networkMapping |
| + * @implements {WebInspector.TargetManager.Observer} |
| */ |
| WebInspector.BlackboxManager = function(debuggerWorkspaceBinding, networkMapping) |
| { |
| + WebInspector.targetManager.observeTargets(this); |
| + |
| this._debuggerWorkspaceBinding = debuggerWorkspaceBinding; |
| this._networkMapping = networkMapping; |
| @@ -17,6 +20,7 @@ WebInspector.BlackboxManager = function(debuggerWorkspaceBinding, networkMapping |
| WebInspector.moduleSetting("skipStackFramesPattern").addChangeListener(this._patternChanged.bind(this)); |
| WebInspector.moduleSetting("skipContentScripts").addChangeListener(this._patternChanged.bind(this)); |
| + |
| /** @type {!Map<!WebInspector.DebuggerModel, !Map<string, !Array<!DebuggerAgent.ScriptPosition>>>} */ |
| this._debuggerModelData = new Map(); |
| /** @type {!Map<string, boolean>} */ |
| @@ -154,6 +158,37 @@ WebInspector.BlackboxManager.prototype = { |
| }, |
| /** |
| + * @override |
| + * @param {!WebInspector.Target} target |
| + */ |
| + targetAdded: function(target) |
| + { |
| + var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
| + if (debuggerModel) |
| + this._setBlackboxPatterns(debuggerModel); |
| + }, |
| + |
| + /** |
| + * @override |
| + * @param {!WebInspector.Target} target |
| + */ |
| + targetRemoved: function(target) |
| + { |
| + }, |
| + |
| + /** |
| + * @param {!WebInspector.DebuggerModel} debuggerModel |
| + * @return {!Promise<boolean>} |
| + */ |
| + _setBlackboxPatterns: function(debuggerModel) |
| + { |
| + var regexPatterns = WebInspector.moduleSetting("skipStackFramesPattern").getAsArray() |
| + .filter(item => !item.disabled) |
|
pfeldman
2016/03/03 01:25:39
Did closure compiler resolve item type?
|
| + .map(item => ({ type: "RegExp", value: item.pattern })); |
| + return debuggerModel.setBlackboxPatterns(regexPatterns); |
|
pfeldman
2016/03/03 01:25:39
It could not possibly resolve this type, so it is
kozy
2016/03/03 20:14:18
Rewrited without awesome filter and map with array
|
| + }, |
| + |
| + /** |
| * @param {!WebInspector.UISourceCode} uiSourceCode |
| * @return {?string} |
| */ |
| @@ -267,6 +302,7 @@ WebInspector.BlackboxManager.prototype = { |
| promises.push(this._addScript(script) |
| .then(loadSourceMap.bind(this, script))); |
| } |
| + promises.push(this._setBlackboxPatterns(debuggerModel)); |
| } |
| Promise.all(promises).then(this._patternChangeFinishedForTests); |
| @@ -367,7 +403,7 @@ WebInspector.BlackboxManager.prototype = { |
| return Promise.resolve().then(updateState.bind(this, false)); |
| } |
| - return script.setBlackboxedRanges(positions).then(updateState.bind(this)); |
| + return script.setBlackboxRanges(positions).then(updateState.bind(this)); |
| /** |
| * @param {boolean} success |