Index: Source/devtools/front_end/sdk/Target.js |
diff --git a/Source/devtools/front_end/sdk/Target.js b/Source/devtools/front_end/sdk/Target.js |
index 904255f07090ba22a13acd14d2c8d70461de79f9..40b62e8f3648e26c94a2e84910d47a3c9bc7e7b7 100644 |
--- a/Source/devtools/front_end/sdk/Target.js |
+++ b/Source/devtools/front_end/sdk/Target.js |
@@ -47,6 +47,23 @@ WebInspector.Target.Capabilities = { |
WebInspector.Target._nextId = 1; |
WebInspector.Target.prototype = { |
+ suspend: function() |
+ { |
+ this.debuggerModel.suspendModel(); |
yurys
2014/10/15 14:07:34
Why is this model listed before the experiment che
loislo
2014/10/15 15:38:47
Done.
|
+ if (!Runtime.experiments.isEnabled("disableAgentsWhenProfile")) |
+ return; |
+ this.cssModel.suspendModel(); |
+ this.domModel.suspendModel(); |
+ }, |
+ |
+ resume: function() |
+ { |
+ if (Runtime.experiments.isEnabled("disableAgentsWhenProfile")) { |
+ this.domModel.resumeModel(); |
+ this.cssModel.resumeModel(); |
+ } |
+ this.debuggerModel.resumeModel(); |
+ }, |
/** |
* @return {number} |
@@ -272,16 +289,51 @@ WebInspector.TargetManager = function() |
this._observers = []; |
/** @type {!Object.<string, !Array.<{modelClass: !Function, thisObject: (!Object|undefined), listener: function(!WebInspector.Event)}>>} */ |
this._modelListeners = {}; |
+ /** @type {boolean} */ |
+ this._targetsSuspended = false; |
} |
WebInspector.TargetManager.Events = { |
InspectedURLChanged: "InspectedURLChanged", |
MainFrameNavigated: "MainFrameNavigated", |
Load: "Load", |
- WillReloadPage: "WillReloadPage" |
+ WillReloadPage: "WillReloadPage", |
+ SuspendStateChanged: "SuspendStateChanged" |
} |
WebInspector.TargetManager.prototype = { |
+ suspendAllTargets: function() |
+ { |
+ console.assert(!this._targetsSuspended); |
+ if (this._targetsSuspended) |
+ return; |
+ this._targetsSuspended = true; |
+ this._targets.forEach(function(target) { |
yurys
2014/10/15 14:07:34
style: { on a separate line.
loislo
2014/10/15 15:38:47
Done.
|
+ target.suspend(); |
+ }); |
+ this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendStateChanged); |
+ }, |
+ |
+ resumeAllTargets: function() |
+ { |
+ console.assert(this._targetsSuspended); |
+ if (!this._targetsSuspended) |
+ return; |
+ this._targetsSuspended = false; |
+ this._targets.forEach(function(target) { |
yurys
2014/10/15 14:07:34
ditto
loislo
2014/10/15 15:38:47
Done.
|
+ target.resume(); |
+ }); |
+ this.dispatchEventToListeners(WebInspector.TargetManager.Events.SuspendStateChanged); |
+ }, |
+ |
+ /** |
+ * @return {boolean} |
+ */ |
+ areTargetsSuspended: function() |
+ { |
+ return this._targetsSuspended; |
+ }, |
+ |
/** |
* @return {string} |
*/ |