Chromium Code Reviews| 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..d256dbff16ea0cf9b31df4a51ec8b23dc24addb4 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/page/javascriptDialogEvents.js |
| @@ -0,0 +1,35 @@ |
| +(async function() { |
|
chenwilliam
2017/06/19 19:09:20
I know we talked about this but it seems confusing
dgozman
2017/06/19 21:49:22
Well, this was a rename (although git didn't get i
|
| + let {page, session, Protocol} = await InspectorTest.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; |
| + `); |
| + |
| + Protocol.Page.onJavascriptDialogOpening(event => { |
| + InspectorTest.log('Opening dialog: type=' + event.params.type + '; message=' + event.params.message); |
| + }); |
| + Protocol.Page.onJavascriptDialogClosed(event => { |
| + InspectorTest.log('Closed dialog: result=' + event.params.result); |
| + }); |
| + |
| + Protocol.Page.enable(); |
| + Protocol.Page.navigate({url: 'http://nosuchurl' }); |
| + await session.evaluate('alert("alert")'); |
| + await session.evaluate('confirm("confirm")'); |
| + await session.evaluate('prompt("prompt")'); |
| + InspectorTest.completeTest(); |
| +})(); |