Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(774)

Unified Diff: third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js

Issue 2832943002: DevTools: properly handle target suspension/resuming in NetworkProject (Closed)
Patch Set: address comments Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js
index 78bfe1a2f98b64d5d9df2b14f09be29c6d825980..ab8d20586dc8a300baa471c2ad6c6f37206c8f6a 100644
--- a/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/DebuggerModel.js
@@ -66,7 +66,7 @@ SDK.DebuggerModel = class extends SDK.SDKModel {
/** @type {!Map<string, string>} */
this._fileURLToNodeJSPath = new Map();
- this.enableDebugger();
+ this._enableDebugger();
/** @type {!Map<string, string>} */
this._stringMap = new Map();
@@ -109,37 +109,34 @@ SDK.DebuggerModel = class extends SDK.SDKModel {
}
/**
- * @param {function()=} callback
+ * @return {!Promise}
*/
- enableDebugger(callback) {
- if (this._debuggerEnabled) {
- if (callback)
- callback();
- return;
- }
- this._agent.enable(callback);
+ _enableDebugger() {
+ if (this._debuggerEnabled)
+ return Promise.resolve();
this._debuggerEnabled = true;
+
+ var enablePromise = new Promise(fulfill => this._agent.enable(fulfill));
this._pauseOnExceptionStateChanged();
this._asyncStackTracesStateChanged();
this.dispatchEventToListeners(SDK.DebuggerModel.Events.DebuggerWasEnabled, this);
+ return enablePromise;
}
/**
- * @param {function()=} callback
+ * @return {!Promise}
*/
- disableDebugger(callback) {
- if (!this._debuggerEnabled) {
- if (callback)
- callback();
- return;
- }
-
- this._agent.disable(callback);
+ _disableDebugger() {
+ if (!this._debuggerEnabled)
+ return Promise.resolve();
this._debuggerEnabled = false;
+
+ var disablePromise = new Promise(fulfill => this._agent.disable(fulfill));
this._isPausing = false;
this._asyncStackTracesStateChanged();
this.globalObjectCleared();
this.dispatchEventToListeners(SDK.DebuggerModel.Events.DebuggerWasDisabled);
+ return disablePromise;
}
/**
@@ -856,32 +853,16 @@ SDK.DebuggerModel = class extends SDK.SDKModel {
* @override
* @return {!Promise}
*/
- suspendModel() {
- return new Promise(promiseBody.bind(this));
-
- /**
- * @param {function()} fulfill
- * @this {SDK.DebuggerModel}
- */
- function promiseBody(fulfill) {
- this.disableDebugger(fulfill);
- }
+ async suspendModel() {
+ await this._disableDebugger();
}
/**
* @override
* @return {!Promise}
*/
- resumeModel() {
- return new Promise(promiseBody.bind(this));
-
- /**
- * @param {function()} fulfill
- * @this {SDK.DebuggerModel}
- */
- function promiseBody(fulfill) {
- this.enableDebugger(fulfill);
- }
+ async resumeModel() {
+ await this._enableDebugger();
}
/**

Powered by Google App Engine
This is Rietveld 408576698