2 <meta name=variant
content=
"?dialog">
3 <meta name=variant
content=
"?CloseWatcher">
4 <script src=
"/resources/testharness.js"></script>
5 <script src=
"/resources/testharnessreport.js"></script>
6 <script src=
"/resources/testdriver.js"></script>
7 <script src=
"/resources/testdriver-vendor.js"></script>
8 <script src=
"/resources/testdriver-actions.js"></script>
9 <script src=
"../resources/helpers.js"></script>
13 const type
= location
.search
.substring(1);
15 promise_test(async t
=> {
18 const watcher1
= createRecordingCloseWatcher(t
, events
, "watcher1");
19 await
createBlessedRecordingCloseWatcher(t
, events
, "watcher2", type
, watcher1
);
20 createRecordingCloseWatcher(t
, events
, "watcher3");
22 await
sendCloseRequest();
23 await
waitForPotentialCloseEvent();
24 assert_array_equals(events
, ["watcher3 close", "watcher2 close"]);
26 await
sendCloseRequest();
27 await
waitForPotentialCloseEvent();
28 assert_array_equals(events
, ["watcher3 close", "watcher2 close", "watcher1 close"]);
29 }, "Create a close watcher without user activation; create a close watcher with user activation; create a close watcher without user activation");