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(); |
+})(); |