Index: third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js b/third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js |
index 72c04944284c3bab9aba8dfbfa085b336ad5633d..5d5080c9e73e4d3f63c3774e6b6dadbb402be413 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js |
+++ b/third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js |
@@ -21,8 +21,6 @@ Bindings.DebuggerWorkspaceBinding = class { |
targetManager.addModelListener( |
SDK.DebuggerModel, SDK.DebuggerModel.Events.GlobalObjectCleared, this._globalObjectCleared, this); |
targetManager.addModelListener( |
- SDK.DebuggerModel, SDK.DebuggerModel.Events.BeforeDebuggerPaused, this._beforeDebuggerPaused, this); |
- targetManager.addModelListener( |
SDK.DebuggerModel, SDK.DebuggerModel.Events.DebuggerResumed, this._debuggerResumed, this); |
workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeRemoved, this._uiSourceCodeRemoved, this); |
workspace.addEventListener(Workspace.Workspace.Events.ProjectRemoved, this._projectRemoved, this); |
@@ -327,18 +325,6 @@ Bindings.DebuggerWorkspaceBinding = class { |
var debuggerModel = /** @type {!SDK.DebuggerModel} */ (event.target); |
this._reset(debuggerModel.target()); |
} |
- |
- /** |
- * @param {!Common.Event} event |
- */ |
- _beforeDebuggerPaused(event) { |
- var rawLocation = event.data.callFrames[0].location(); |
- var targetData = this._targetToData.get(rawLocation.target()); |
- if (!targetData._compilerMapping.mapsToSourceCode(rawLocation)) { |
- event.stopPropagation(); |
- event.preventDefault(); |
- } |
- } |
}; |
/** |
@@ -350,7 +336,7 @@ Bindings.DebuggerWorkspaceBinding.TargetData = class { |
* @param {!Bindings.DebuggerWorkspaceBinding} debuggerWorkspaceBinding |
*/ |
constructor(debuggerModel, debuggerWorkspaceBinding) { |
- this._target = debuggerModel.target(); |
+ this._debuggerModel = debuggerModel; |
/** @type {!Map.<string, !Bindings.DebuggerWorkspaceBinding.ScriptInfo>} */ |
this.scriptDataMap = new Map(); |
@@ -363,11 +349,13 @@ Bindings.DebuggerWorkspaceBinding.TargetData = class { |
this._defaultMapping = new Bindings.DefaultScriptMapping(debuggerModel, workspace, debuggerWorkspaceBinding); |
this._resourceMapping = new Bindings.ResourceScriptMapping(debuggerModel, workspace, debuggerWorkspaceBinding); |
this._compilerMapping = new Bindings.CompilerScriptMapping( |
- debuggerModel, workspace, Bindings.NetworkProject.forTarget(this._target), debuggerWorkspaceBinding); |
+ debuggerModel, workspace, Bindings.NetworkProject.forTarget(this._debuggerModel.target()), |
+ debuggerWorkspaceBinding); |
/** @type {!Map.<!Workspace.UISourceCode, !Bindings.DebuggerSourceMapping>} */ |
this._uiSourceCodeToSourceMapping = new Map(); |
+ debuggerModel.setBeforePausedCallback(this._beforePaused.bind(this)); |
this._eventListeners = [ |
debuggerModel.addEventListener(SDK.DebuggerModel.Events.ParsedScriptSource, this._parsedScriptSource, this), |
debuggerModel.addEventListener(SDK.DebuggerModel.Events.FailedToParseScriptSource, this._parsedScriptSource, this) |
@@ -375,6 +363,14 @@ Bindings.DebuggerWorkspaceBinding.TargetData = class { |
} |
/** |
+ * @param {!SDK.DebuggerPausedDetails} debuggerPausedDetails |
+ * @return {boolean} |
+ */ |
+ _beforePaused(debuggerPausedDetails) { |
+ return !!this._compilerMapping.mapsToSourceCode(debuggerPausedDetails.callFrames[0].location()); |
+ } |
+ |
+ /** |
* @param {!Common.Event} event |
*/ |
_parsedScriptSource(event) { |
@@ -401,7 +397,7 @@ Bindings.DebuggerWorkspaceBinding.TargetData = class { |
uiSourceCode.dispatchEventToListeners( |
Workspace.UISourceCode.Events.SourceMappingChanged, |
- {target: this._target, isIdentity: sourceMapping ? sourceMapping.isIdentity() : false}); |
+ {target: this._debuggerModel.target(), isIdentity: sourceMapping ? sourceMapping.isIdentity() : false}); |
} |
/** |
@@ -433,6 +429,7 @@ Bindings.DebuggerWorkspaceBinding.TargetData = class { |
} |
_dispose() { |
+ this._debuggerModel.setBeforePausedCallback(null); |
Common.EventTarget.removeEventListeners(this._eventListeners); |
this._compilerMapping.dispose(); |
this._resourceMapping.dispose(); |