Index: Source/devtools/front_end/sdk/DebuggerModel.js |
diff --git a/Source/devtools/front_end/sdk/DebuggerModel.js b/Source/devtools/front_end/sdk/DebuggerModel.js |
index eb3c6fb42801249a54453207186efec3a9f7a88b..f5d45387a51d801c079178560ba270e850409fcc 100644 |
--- a/Source/devtools/front_end/sdk/DebuggerModel.js |
+++ b/Source/devtools/front_end/sdk/DebuggerModel.js |
@@ -48,6 +48,8 @@ WebInspector.DebuggerModel = function(target) |
this._scriptsBySourceURL = new StringMap(); |
this._breakpointsActive = true; |
+ /** @type {!StringMap.<!WebInspector.DebuggerModel.BreakpointListener>} */ |
+ this._breakpointListenerById = new StringMap(); |
vsevik
2014/06/05 15:48:29
Let's have this._breakpointResolvedEventTarget = n
sergeyv
2014/06/06 11:44:53
Done.
|
WebInspector.settings.pauseOnExceptionEnabled.addChangeListener(this._pauseOnExceptionStateChanged, this); |
WebInspector.settings.pauseOnCaughtException.addChangeListener(this._pauseOnExceptionStateChanged, this); |
@@ -80,7 +82,6 @@ WebInspector.DebuggerModel.Events = { |
DebuggerResumed: "DebuggerResumed", |
ParsedScriptSource: "ParsedScriptSource", |
FailedToParseScriptSource: "FailedToParseScriptSource", |
- BreakpointResolved: "BreakpointResolved", |
GlobalObjectCleared: "GlobalObjectCleared", |
CallFrameSelected: "CallFrameSelected", |
ConsoleCommandEvaluatedInSelectedCallFrame: "ConsoleCommandEvaluatedInSelectedCallFrame", |
@@ -330,7 +331,11 @@ WebInspector.DebuggerModel.prototype = { |
*/ |
_breakpointResolved: function(breakpointId, location) |
{ |
- this.dispatchEventToListeners(WebInspector.DebuggerModel.Events.BreakpointResolved, {breakpointId: breakpointId, location: WebInspector.DebuggerModel.Location.fromPayload(this.target(), location)}); |
+ var breakpointListener = this._breakpointListenerById.get(breakpointId); |
+ if (breakpointListener) { |
+ var debuggerLocation = WebInspector.DebuggerModel.Location.fromPayload(this.target(), location); |
+ breakpointListener.breakpointResolved(debuggerLocation) |
+ } |
}, |
_globalObjectCleared: function() |
@@ -706,6 +711,23 @@ WebInspector.DebuggerModel.prototype = { |
} |
}, |
+ /** |
+ * @param {!DebuggerAgent.BreakpointId} breakpointId |
+ * @param {!WebInspector.DebuggerModel.BreakpointListener} listener |
+ */ |
+ registerBreakpointListenerForId: function(breakpointId, listener) |
+ { |
+ this._breakpointListenerById.put(breakpointId, listener); |
+ }, |
+ |
+ /** |
+ * @param {!DebuggerAgent.BreakpointId} breakpointId |
+ */ |
+ unregisterBreakpointListenerForId: function(breakpointId) |
+ { |
+ this._breakpointListenerById.remove(breakpointId); |
+ }, |
+ |
__proto__: WebInspector.TargetAwareObject.prototype |
} |
@@ -792,6 +814,21 @@ WebInspector.DebuggerDispatcher.prototype = { |
} |
/** |
+ * @interface |
+ */ |
+WebInspector.DebuggerModel.BreakpointListener = function() { |
+} |
+ |
+WebInspector.DebuggerModel.BreakpointListener.prototype = { |
+ |
+ /** |
+ * @param {!WebInspector.DebuggerModel.Location} location |
+ */ |
+ breakpointResolved: function(location) { } |
+ |
+} |
+ |
+/** |
* @constructor |
* @implements {WebInspector.RawLocation} |
* @extends {WebInspector.TargetAware} |