Chromium Code Reviews| 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} |
| */ |