summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/close-watcher
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/meta/close-watcher
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/meta/close-watcher')
-rw-r--r--testing/web-platform/meta/close-watcher/__dir__.ini1
-rw-r--r--testing/web-platform/meta/close-watcher/abortsignal.html.ini27
-rw-r--r--testing/web-platform/meta/close-watcher/basic.html.ini75
-rw-r--r--testing/web-platform/meta/close-watcher/closewatcher-dialog-popover.html.ini9
-rw-r--r--testing/web-platform/meta/close-watcher/esc-key.html.ini15
-rw-r--r--testing/web-platform/meta/close-watcher/event-properties.html.ini3
-rw-r--r--testing/web-platform/meta/close-watcher/frame-removal.html.ini18
-rw-r--r--testing/web-platform/meta/close-watcher/inside-event-listeners.html.ini18
-rw-r--r--testing/web-platform/meta/close-watcher/popover-closewatcher-multiple-plus-free.html.ini3
-rw-r--r--testing/web-platform/meta/close-watcher/popover-closewatcher.html.ini9
-rw-r--r--testing/web-platform/meta/close-watcher/user-activation-CloseWatcher.html.ini15
-rw-r--r--testing/web-platform/meta/close-watcher/user-activation-multiple-plus-free.html.ini5
-rw-r--r--testing/web-platform/meta/close-watcher/user-activation-shared.html.ini70
13 files changed, 268 insertions, 0 deletions
diff --git a/testing/web-platform/meta/close-watcher/__dir__.ini b/testing/web-platform/meta/close-watcher/__dir__.ini
new file mode 100644
index 0000000000..8a73333e77
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/__dir__.ini
@@ -0,0 +1 @@
+prefs: [dom.element.popover.enabled: true]
diff --git a/testing/web-platform/meta/close-watcher/abortsignal.html.ini b/testing/web-platform/meta/close-watcher/abortsignal.html.ini
new file mode 100644
index 0000000000..d662024535
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/abortsignal.html.ini
@@ -0,0 +1,27 @@
+[abortsignal.html]
+ [already-aborted AbortSignal then Esc key fires no events]
+ expected: FAIL
+
+ [abortController.abort() then close via Esc key fires no events]
+ expected: FAIL
+
+ [Esc key then abortController.abort() fires only one close event]
+ expected: FAIL
+
+ [abortController.abort()ing a free CloseWatcher allows a new one to be created without a user activation]
+ expected: FAIL
+
+ [abortController.abort() inside oncancel]
+ expected: FAIL
+
+ [abortController.abort() inside onclose is benign]
+ expected: FAIL
+
+ [already-aborted AbortSignal then requestClose() fires no events]
+ expected: FAIL
+
+ [abortController.abort() then requestClose() fires no events]
+ expected: FAIL
+
+ [requestClose() then abortController.abort() fires only one close event]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/basic.html.ini b/testing/web-platform/meta/close-watcher/basic.html.ini
new file mode 100644
index 0000000000..b85448e71e
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/basic.html.ini
@@ -0,0 +1,75 @@
+[basic.html]
+ [close() then destroy() fires only one close event]
+ expected: FAIL
+
+ [requestClose() with no user activation only fires close]
+ expected: FAIL
+
+ [destroy() then requestClose() fires no events]
+ expected: FAIL
+
+ [close() then requestClose() fires only one close event]
+ expected: FAIL
+
+ [requestClose() then destroy() fires only one close event]
+ expected: FAIL
+
+ [requestClose() with no user activation only fires close]
+ expected: FAIL
+
+ [destroy() then requestClose() fires no events]
+ expected: FAIL
+
+ [close() then requestClose() fires only one close event]
+ expected: FAIL
+
+ [requestClose() then destroy() fires only one close event]
+ expected: FAIL
+
+ [requestClose() with no user activation only fires close]
+ expected: FAIL
+
+ [destroy() then requestClose() fires no events]
+ expected: FAIL
+
+ [close() then requestClose() fires only one close event]
+ expected: FAIL
+
+ [requestClose() then destroy() fires only one close event]
+ expected: FAIL
+
+ [destroy() then close request fires no events]
+ expected: FAIL
+
+ [Close request then destroy() fires only one close event]
+ expected: FAIL
+
+ [requestClose() with no user activation only fires close]
+ expected: FAIL
+
+ [destroy() then requestClose() fires no events]
+ expected: FAIL
+
+ [close() then requestClose() fires only one close event]
+ expected: FAIL
+
+ [requestClose() then destroy() fires only one close event]
+ expected: FAIL
+
+ [destroy() then close request fires no events]
+ expected: FAIL
+
+ [Close request then destroy() fires only one close event]
+ expected: FAIL
+
+ [destroy() then close request fires no events]
+ expected: FAIL
+
+ [Close request then destroy() fires only one close event]
+ expected: FAIL
+
+ [destroy() then close request fires no events]
+ expected: FAIL
+
+ [Close request then destroy() fires only one close event]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/closewatcher-dialog-popover.html.ini b/testing/web-platform/meta/close-watcher/closewatcher-dialog-popover.html.ini
new file mode 100644
index 0000000000..a11eb3ac52
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/closewatcher-dialog-popover.html.ini
@@ -0,0 +1,9 @@
+[closewatcher-dialog-popover.html]
+ [Opening a CloseWatcher, modal dialog, and popover without user activation causes them all to be closed with one close request.]
+ expected: FAIL
+
+ [Opening a CloseWatcher, modal dialog, and popover with user activation for each should close one at a time with close requests.]
+ expected: FAIL
+
+ [Opening a CloseWatcher, modal dialog, and popover with user activation for each and sending close requests with user activation should close one at a time and have cancel events.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/esc-key.html.ini b/testing/web-platform/meta/close-watcher/esc-key.html.ini
new file mode 100644
index 0000000000..465129d21d
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/esc-key.html.ini
@@ -0,0 +1,15 @@
+[esc-key.html]
+ [Esc key does not count as user activation, so if it is the sole user interaction, that fires close but not cancel]
+ expected: FAIL
+
+ [A keydown listener can prevent the Esc keypress from being interpreted as a close request]
+ expected: FAIL
+
+ [A keyup listener can prevent the Esc keypress from being interpreted as a close request]
+ expected: FAIL
+
+ [A keypress listener can prevent the Esc keypress from being interpreted as a close request]
+ expected: FAIL
+
+ [close via synthesized Esc key must not work]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/event-properties.html.ini b/testing/web-platform/meta/close-watcher/event-properties.html.ini
new file mode 100644
index 0000000000..2b06874850
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/event-properties.html.ini
@@ -0,0 +1,3 @@
+[event-properties.html]
+ [cancel and close event properties are correct]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/frame-removal.html.ini b/testing/web-platform/meta/close-watcher/frame-removal.html.ini
new file mode 100644
index 0000000000..248fcd6118
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/frame-removal.html.ini
@@ -0,0 +1,18 @@
+[frame-removal.html]
+ [detaching the iframe during the cancel event]
+ expected: FAIL
+
+ [detaching the iframe during the close event]
+ expected: FAIL
+
+ [detaching the iframe then calling destroy()]
+ expected: FAIL
+
+ [detaching the iframe then calling close()]
+ expected: FAIL
+
+ [detaching the iframe then constructing a CloseWatcher]
+ expected: FAIL
+
+ [detaching the iframe then calling requestClose()]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/inside-event-listeners.html.ini b/testing/web-platform/meta/close-watcher/inside-event-listeners.html.ini
new file mode 100644
index 0000000000..4b725b0b12
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/inside-event-listeners.html.ini
@@ -0,0 +1,18 @@
+[inside-event-listeners.html]
+ [destroy() inside oncancel]
+ expected: FAIL
+
+ [destroy() inside onclose]
+ expected: FAIL
+
+ [close() inside oncancel]
+ expected: FAIL
+
+ [close() inside onclose]
+ expected: FAIL
+
+ [requestClose() inside oncancel]
+ expected: FAIL
+
+ [requestClose() inside onclose]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/popover-closewatcher-multiple-plus-free.html.ini b/testing/web-platform/meta/close-watcher/popover-closewatcher-multiple-plus-free.html.ini
new file mode 100644
index 0000000000..5969511559
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/popover-closewatcher-multiple-plus-free.html.ini
@@ -0,0 +1,3 @@
+[popover-closewatcher-multiple-plus-free.html]
+ [Multiple popovers opened from a single user activation close together, but original popover closes separately.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/popover-closewatcher.html.ini b/testing/web-platform/meta/close-watcher/popover-closewatcher.html.ini
new file mode 100644
index 0000000000..4ef96c74a5
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/popover-closewatcher.html.ini
@@ -0,0 +1,9 @@
+[popover-closewatcher.html]
+ [Opening multiple popovers without user activation causes them all to be closed with one close request.]
+ expected: FAIL
+
+ [Opening multiple popovers without user activation causes them all to be closed with one close request.]
+ expected: FAIL
+
+ [Opening multiple popovers without user activation causes them all to be closed with one close request.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/user-activation-CloseWatcher.html.ini b/testing/web-platform/meta/close-watcher/user-activation-CloseWatcher.html.ini
new file mode 100644
index 0000000000..d40b19df50
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/user-activation-CloseWatcher.html.ini
@@ -0,0 +1,15 @@
+[user-activation-CloseWatcher.html]
+ [CloseWatchers created without user activation, but requestClose()d via user activation, fires cancel]
+ expected: FAIL
+
+ [CloseWatchers created without user activation, but requestClose()d via user activation, fires cancel, which can be preventDefault()ed]
+ expected: FAIL
+
+ [Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel]
+ expected: FAIL
+
+ [3 user activations let you have 2 close watchers with 1 cancel event, even if the first cancel event is prevented]
+ expected: FAIL
+
+ [requestClose()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close request]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/user-activation-multiple-plus-free.html.ini b/testing/web-platform/meta/close-watcher/user-activation-multiple-plus-free.html.ini
new file mode 100644
index 0000000000..5e68805ab1
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/user-activation-multiple-plus-free.html.ini
@@ -0,0 +1,5 @@
+[user-activation-multiple-plus-free.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Multiple CloseWatchers created from a single user activation close together, but original free CloseWatcher closes separately]
+ expected: FAIL
diff --git a/testing/web-platform/meta/close-watcher/user-activation-shared.html.ini b/testing/web-platform/meta/close-watcher/user-activation-shared.html.ini
new file mode 100644
index 0000000000..656d9daf19
--- /dev/null
+++ b/testing/web-platform/meta/close-watcher/user-activation-shared.html.ini
@@ -0,0 +1,70 @@
+[user-activation-shared.html?CloseWatcher]
+ [Close watchers created without user activation, but close()d via user activation, do not fire cancel]
+ expected: FAIL
+
+ [Close watchers created without user activation, but closed via a close request after user activation, fires cancel]
+ expected: FAIL
+
+ [Close watchers created without user activation, but closed via a close request after user activation, fires cancel, which can be preventDefault()ed]
+ expected: FAIL
+
+ [Multiple close watchers created without user activation close together (with no cancel)]
+ expected: FAIL
+
+ [Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel]
+ expected: FAIL
+
+ [Creating a close watcher from user activation, and closing close watchers with a close request after user activation, fires cancel]
+ expected: FAIL
+
+ [Multiple close watchers created with user activation close in reverse order]
+ expected: FAIL
+
+ [3 user activations let you have 3 + 1 = 4 ungrouped close watchers/0 cancel events]
+ expected: FAIL
+
+ [closing the free close watcher via a close request allows a new free one to be created without user activation, and it receives a second close request]
+ expected: FAIL
+
+ [The second watcher can be the free watcher, if the first is created with user activation]
+ expected: FAIL
+
+ [The third watcher can be the free watcher, if the first two are created with user activation]
+ expected: FAIL
+
+ [destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request]
+ expected: FAIL
+
+
+[user-activation-shared.html?dialog]
+ [Close watchers created without user activation, but close()d via user activation, do not fire cancel]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [FAIL, PASS]
+ if (os == "win") and debug and (processor == "x86"): [FAIL, PASS]
+ if (os == "linux") and not swgl: [FAIL, PASS]
+ if (os == "android") and not swgl: [FAIL, PASS]
+ FAIL
+
+ [Multiple close watchers created without user activation close together (with no cancel)]
+ expected: FAIL
+
+ [Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel]
+ expected: FAIL
+
+ [Multiple close watchers created with user activation close in reverse order]
+ expected: FAIL
+
+ [3 user activations let you have 3 + 1 = 4 ungrouped close watchers/0 cancel events]
+ expected: FAIL
+
+ [closing the free close watcher via a close request allows a new free one to be created without user activation, and it receives a second close request]
+ expected: FAIL
+
+ [The second watcher can be the free watcher, if the first is created with user activation]
+ expected: FAIL
+
+ [The third watcher can be the free watcher, if the first two are created with user activation]
+ expected: FAIL
+
+ [destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request]
+ expected: FAIL