Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js b/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js |
| index 699286ccf95613febd9ce5a0e3aa9a9d034a38ba..e6a9be580484f77140b07ec2ce9c072a22e3a863 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/sdk/TargetManager.js |
| @@ -28,19 +28,24 @@ SDK.TargetManager = class extends Common.Object { |
| this._webSocketConnectionLostCallback; |
| } |
| + /** |
| + * @return {!Promise} |
| + */ |
| suspendAllTargets() { |
| if (this._isSuspended) |
| - return; |
| + throw new Error('Already suspended'); |
|
dgozman
2017/05/05 06:10:55
Not sure this won't ever happen. Let's just return
lushnikov
2017/05/05 20:58:26
Changed both here and in resumeAllTargets() to mak
|
| this._isSuspended = true; |
| this.dispatchEventToListeners(SDK.TargetManager.Events.SuspendStateChanged); |
| + var promises = []; |
| for (var target of this._targets) { |
| var childTargetManager = this._childTargetManagers.get(target); |
| if (childTargetManager) |
| - childTargetManager.suspend(); |
| + promises.push(childTargetManager.suspend()); |
| for (var model of target.models().values()) |
| - model.suspendModel(); |
| + promises.push(model.suspendModel()); |
| } |
| + return Promise.all(promises); |
| } |
| /** |
| @@ -411,8 +416,11 @@ SDK.ChildTargetManager = class { |
| } |
| } |
| + /** |
| + * @return {!Promise} |
| + */ |
| suspend() { |
| - this._targetAgent.invoke_setAutoAttach({autoAttach: true, waitForDebuggerOnStart: false}); |
| + return this._targetAgent.invoke_setAutoAttach({autoAttach: true, waitForDebuggerOnStart: false}); |
| } |
| /** |