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 c5a77e9596cfdd45ce7db7754d52d78d34e61f48..846615e08006d7df1c16a18d8e297e50f3deabd9 100644 |
--- a/Source/devtools/front_end/sdk/DebuggerModel.js |
+++ b/Source/devtools/front_end/sdk/DebuggerModel.js |
@@ -55,7 +55,7 @@ WebInspector.DebuggerModel = function(target) |
WebInspector.settings.pauseOnCaughtException.addChangeListener(this._pauseOnExceptionStateChanged, this); |
WebInspector.settings.enableAsyncStackTraces.addChangeListener(this._asyncStackTracesStateChanged, this); |
- target.profilingLock.addEventListener(WebInspector.Lock.Events.StateChanged, this._asyncStackTracesStateChanged, this); |
+ target.profilingLock.addEventListener(WebInspector.Lock.Events.StateChanged, this._profilingStateChanged, this); |
this.enableDebugger(); |
@@ -169,6 +169,17 @@ WebInspector.DebuggerModel.prototype = { |
this._agent.setPauseOnExceptions(state); |
}, |
+ _profilingStateChanged: function() |
+ { |
+ if (WebInspector.experimentsSettings.disableAgentsWhenProfile.isEnabled()) { |
+ if (this.target().profilingLock.isAcquired()) |
+ this.disableDebugger(); |
+ else |
+ this.enableDebugger(); |
+ } |
+ this._asyncStackTracesStateChanged(); |
+ }, |
+ |
_asyncStackTracesStateChanged: function() |
{ |
const maxAsyncStackChainDepth = 4; |