079c0fd8f6
It is preparation step for step-into-worker. There are few changes: - added breakOnAsyncCall flag for Debugger.stepInto. When flag is set and async task is scheduled before step-into finished, we pause execution with additional Debugger.paused event. This event contains additional scheduledAsyncTaskId field. - added Debugger.pauseOnAsyncTask. This method will pause execution as soon as given async task is started. This mechanism is replacement for Debugger.scheduleStepIntoAsync which can not be used between multiple targets. As result we can split async task scheduling in one target and requesting break for this async task running in another target. R=pfeldman@chromium.org Bug: chromium:778796 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I77be0c880d91253d333c54a23a4c084e7b8549e9 Reviewed-on: https://chromium-review.googlesource.com/750071 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Pavel Feldman <pfeldman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49127}
209 lines
3.4 KiB
Plaintext
209 lines
3.4 KiB
Plaintext
Checks Debugger.scheduleStepIntoAsync.
|
|
|
|
Running test: testScheduleErrors
|
|
paused at:
|
|
function testNoScheduledTask() {
|
|
#debugger;
|
|
return 42;
|
|
|
|
paused at:
|
|
debugger;
|
|
#return 42;
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
return 42;#
|
|
}
|
|
|
|
|
|
Running test: testSimple
|
|
paused at:
|
|
function testSimple() {
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 2);
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().#then(v => v * 2);
|
|
}
|
|
|
|
scheduledAsyncTaskId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().then(#v => v * 2);
|
|
}
|
|
|
|
|
|
Running test: testNotResolvedPromise
|
|
paused at:
|
|
var p = new Promise(resolve => resolveCallback = resolve);
|
|
#debugger;
|
|
p.then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
p.#then(v => v * 2);
|
|
resolveCallback();
|
|
|
|
paused at:
|
|
debugger;
|
|
p.#then(v => v * 2);
|
|
resolveCallback();
|
|
|
|
scheduledAsyncTaskId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
p.then(#v => v * 2);
|
|
resolveCallback();
|
|
|
|
|
|
Running test: testTwoAsyncTasks
|
|
paused at:
|
|
function testTwoAsyncTasks() {
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 2);
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().#then(v => v * 2);
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
scheduledAsyncTaskId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().then(#v => v * 2);
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
|
|
Running test: testTwoTasksAndGoToSecond
|
|
paused at:
|
|
function testTwoAsyncTasks() {
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 2);
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
paused at:
|
|
Promise.resolve().then(v => v * 2);
|
|
#Promise.resolve().then(v => v * 4);
|
|
}
|
|
|
|
paused at:
|
|
Promise.resolve().then(v => v * 2);
|
|
Promise.resolve().#then(v => v * 4);
|
|
}
|
|
|
|
scheduledAsyncTaskId is set
|
|
|
|
paused at:
|
|
Promise.resolve().then(v => v * 2);
|
|
Promise.resolve().then(#v => v * 4);
|
|
}
|
|
|
|
|
|
Running test: testTwoAsyncTasksWithBreak
|
|
paused at:
|
|
function testTwoAsyncTasksWithBreak() {
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 2);
|
|
debugger;
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().#then(v => v * 2);
|
|
debugger;
|
|
|
|
scheduledAsyncTaskId is set
|
|
|
|
paused at:
|
|
Promise.resolve().then(v => v * 2);
|
|
#debugger;
|
|
Promise.resolve().then(v => v * 4);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.resolve().then(v => v * 4);
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().#then(v => v * 4);
|
|
}
|
|
|
|
scheduledAsyncTaskId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.resolve().then(#v => v * 4);
|
|
}
|
|
|
|
|
|
Running test: testPromiseAll
|
|
paused at:
|
|
function testPromiseAll() {
|
|
#debugger;
|
|
Promise.all([ Promise.resolve(), Promise.resolve() ]).then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#Promise.all([ Promise.resolve(), Promise.resolve() ]).then(v => v * 2);
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.all([ Promise.resolve(), Promise.resolve() ]).#then(v => v * 2);
|
|
}
|
|
|
|
scheduledAsyncTaskId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
Promise.all([ Promise.resolve(), Promise.resolve() ]).then(#v => v * 2);
|
|
}
|
|
|
|
|
|
Running test: testWithBlackboxedCode
|
|
paused at:
|
|
function testBlackboxedCreatePromise() {
|
|
#debugger;
|
|
createPromise().then(v => v * 2);
|
|
|
|
paused at:
|
|
debugger;
|
|
#createPromise().then(v => v * 2);
|
|
}
|
|
|
|
paused at:
|
|
debugger;
|
|
createPromise().#then(v => v * 2);
|
|
}
|
|
|
|
scheduledAsyncTaskId is set
|
|
|
|
paused at:
|
|
debugger;
|
|
createPromise().then(#v => v * 2);
|
|
}
|
|
|