Index: third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js |
index 60fcf439d074939482ae349357084dac86767572..4c0c48503e590de0df05c357728aff32715beab0 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js |
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js |
@@ -411,8 +411,8 @@ SDK.DebuggerModel = class extends SDK.SDKModel { |
this._isPausing = false; |
this._debuggerPausedDetails = debuggerPausedDetails; |
if (this._debuggerPausedDetails) { |
- if (Runtime.experiments.isEnabled('emptySourceMapAutoStepping')) { |
- if (this.dispatchEventToListeners(SDK.DebuggerModel.Events.BeforeDebuggerPaused, this._debuggerPausedDetails)) |
+ if (Runtime.experiments.isEnabled('emptySourceMapAutoStepping') && this._beforePausedCallback) { |
+ if (!this._beforePausedCallback.call(null, this._debuggerPausedDetails)) |
return false; |
} |
this.dispatchEventToListeners(SDK.DebuggerModel.Events.DebuggerPaused, this._debuggerPausedDetails); |
@@ -425,6 +425,13 @@ SDK.DebuggerModel = class extends SDK.SDKModel { |
} |
/** |
+ * @param {?function(!SDK.DebuggerPausedDetails):boolean} callback |
+ */ |
+ setBeforePausedCallback(callback) { |
+ this._beforePausedCallback = callback; |
+ } |
+ |
+ /** |
* @param {!Array.<!Protocol.Debugger.CallFrame>} callFrames |
* @param {string} reason |
* @param {!Object|undefined} auxData |
@@ -807,7 +814,6 @@ SDK.DebuggerModel.PauseOnExceptionsState = { |
SDK.DebuggerModel.Events = { |
DebuggerWasEnabled: Symbol('DebuggerWasEnabled'), |
DebuggerWasDisabled: Symbol('DebuggerWasDisabled'), |
- BeforeDebuggerPaused: Symbol('BeforeDebuggerPaused'), |
DebuggerPaused: Symbol('DebuggerPaused'), |
DebuggerResumed: Symbol('DebuggerResumed'), |
ParsedScriptSource: Symbol('ParsedScriptSource'), |