blob: 31b437c560894abc91d77ca367d63e626890fd8f [file] [log] [blame]
(async function(testRunner) {
await testRunner.startBlank(
`Tests that browser.Target.setAutoAttach() attaches to new page targets.`);
const target = testRunner.browserP().Target;
await target.setDiscoverTargets({discover: true});
await target.setAutoAttach({autoAttach: true, waitForDebuggerOnStart: true, flatten: true});
const response = await target.attachToBrowserTarget();
const newBrowserSession =
new TestRunner.Session(testRunner, response.result.sessionId);
const newUrl = testRunner.url('../resources/test-page.html?newpage');
newBrowserSession.protocol.Target.createTarget({url: newUrl});
const attachedEvent = await target.onceAttachedToTarget();
testRunner.log(attachedEvent, 'Attached to the new page: ');
const newSession = new TestRunner.Session(testRunner, attachedEvent.params.sessionId);
newSession.protocol.Inspector.onTargetReloadedAfterCrash(
event => testRunner.log(event, 'FAIL: received spurious event '));
await newSession.protocol.Runtime.runIfWaitingForDebugger();
testRunner.log('Resumed\n\n');
const path = await newSession.protocol.Runtime.evaluate({expression: 'location.href'});
testRunner.log(path, 'New page location: ');
await newBrowserSession.disconnect();
testRunner.completeTest();
})