| Index: third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.js
|
| diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.js b/third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..67902583c8ee3c866a459c2cf63a2c7d7ba26e89
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.js
|
| @@ -0,0 +1,35 @@
|
| +(async function(testRunner) {
|
| + let {page, session, dp} = await testRunner.startBlank('');
|
| +
|
| + await session.evaluate(`
|
| + testRunner.setShouldStayOnPageAfterHandlingBeforeUnload(true);
|
| +
|
| + // JavaScript onbeforeunload dialogs require a user gesture.
|
| + if (window.eventSender) {
|
| + eventSender.mouseMoveTo(5, 5);
|
| + eventSender.mouseDown();
|
| + eventSender.mouseUp();
|
| + }
|
| +
|
| + function onBeforeUnload()
|
| + {
|
| + window.removeEventListener('beforeunload', onBeforeUnload);
|
| + return 'beforeunload in javascriptDialogEvents';
|
| + }
|
| + window.onbeforeunload = onBeforeUnload;
|
| + `);
|
| +
|
| + dp.Page.onJavascriptDialogOpening(event => {
|
| + testRunner.log('Opening dialog: type=' + event.params.type + '; message=' + event.params.message);
|
| + });
|
| + dp.Page.onJavascriptDialogClosed(event => {
|
| + testRunner.log('Closed dialog: result=' + event.params.result);
|
| + });
|
| +
|
| + dp.Page.enable();
|
| + dp.Page.navigate({url: 'http://nosuchurl' });
|
| + await session.evaluate('alert("alert")');
|
| + await session.evaluate('confirm("confirm")');
|
| + await session.evaluate('prompt("prompt")');
|
| + testRunner.completeTest();
|
| +})
|
|
|