[wpt-sync] Sync PR 41285 - CloseWatcher: improve sendCloseRequest test helper
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox118 fixed)
Tracking | Status | |
---|---|---|
firefox118 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 41285 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/41285
Details from upstream follow.
Domenic Denicola <domenic@chromium.org> wrote:
CloseWatcher: improve sendCloseRequest test helper
By targeting document.body, we can use it even in the popover test, and we don't need the extra \<div> in various files.
Bug: 1171318
Change-Id: I1b9708da4874df680cd6a431019d3f33f41af4a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4728408
Reviewed-by: Nate Chapin \<japhet@chromium.org>
Commit-Queue: Domenic Denicola \<domenic@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1178209}
Assignee | ||
Comment 1•1 year ago
|
||
Assignee | ||
Comment 2•1 year ago
|
||
Assignee | ||
Comment 3•1 year ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 9 tests and 17 subtests
Status Summary
Firefox
OK
: 9
FAIL
: 49
Chrome
OK
: 9
PASS
: 1
FAIL
: 48
Safari
OK
: 9
PASS
: 1
FAIL
: 48
Links
Details
Firefox-only Failures
- /close-watcher/popover-closewatcher.html [wpt.fyi]
- Opening multiple popovers with user activation should close one at a time with close requests.:
FAIL
- Opening multiple popovers with user activation should close one at a time with close requests.:
New Tests That Don't Pass
- /close-watcher/abortsignal.html [wpt.fyi]
- already-aborted AbortSignal then requestClose() fires no events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - abortController.abort() then requestClose() fires no events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose() then abortController.abort() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - already-aborted AbortSignal then Esc key fires no events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - abortController.abort() then close via Esc key fires no events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Esc key then abortController.abort() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - abortController.abort()ing a free CloseWatcher allows a new one to be created without a user activation:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - abortController.abort() inside oncancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - abortController.abort() inside onclose is benign:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- already-aborted AbortSignal then requestClose() fires no events:
- /close-watcher/basic.html [wpt.fyi]
- requestClose() with no user activation only fires close:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - destroy() then requestClose() fires no events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close() then requestClose() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose() then destroy() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close() then destroy() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - destroy() then close request fires no events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Close request then destroy() fires only one close event:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- requestClose() with no user activation only fires close:
- /close-watcher/esc-key.html [wpt.fyi]
- Esc key does not count as user activation, so if it is the sole user interaction, that fires close but not cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - A keydown listener can prevent the Esc keypress from being interpreted as a close request:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - A keyup listener can prevent the Esc keypress from being interpreted as a close request:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - A keypress listener can prevent the Esc keypress from being interpreted as a close request:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close via synthesized Esc key must not work:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Esc key does not count as user activation, so if it is the sole user interaction, that fires close but not cancel:
- /close-watcher/event-properties.html [wpt.fyi]
- cancel and close event properties are correct:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- cancel and close event properties are correct:
- /close-watcher/inside-event-listeners.html [wpt.fyi]
- destroy() inside oncancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - destroy() inside onclose:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close() inside oncancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - close() inside onclose:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose() inside oncancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose() inside onclose:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- destroy() inside oncancel:
- /close-watcher/popover-closewatcher-multiple-plus-free.html [wpt.fyi]
- Multiple popovers opened from a single user activation close together, but original popover closes separately.:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Multiple popovers opened from a single user activation close together, but original popover closes separately.:
- /close-watcher/popover-closewatcher.html [wpt.fyi]
- Opening multiple popovers without user activation causes them all to be closed with one close request.:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Opening multiple popovers with user activation should close one at a time with close requests.:
FAIL
(Chrome:PASS
, Safari:PASS
)
- Opening multiple popovers without user activation causes them all to be closed with one close request.:
- /close-watcher/user-activation-multiple-plus-free.html [wpt.fyi]
- Multiple CloseWatchers created from a single user activation close together, but original free CloseWatcher closes separately:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Multiple CloseWatchers created from a single user activation close together, but original free CloseWatcher closes separately:
- /close-watcher/user-activation.html [wpt.fyi]
- CloseWatchers created without user activation, but requestClose()d via user activation, fires cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - CloseWatchers created without user activation, but requestClose()d via user activation, fires cancel, which can be preventDefault()ed:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - CloseWatchers created without user activation, but close()d via user activation, do not fire cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - CloseWatchers created without user activation, but closed via a close request after user activation, fires cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - CloseWatchers created without user activation, but closed via a close request after user activation, fires cancel, which can be preventDefault()ed:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Multiple CloseWatchers created without user activation close together (with no cancel):
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Creating a CloseWatcher from user activation keeps it separate from the free CloseWatcher, but they don't fire cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Creating a CloseWatcher from user activation, and closing CloseWatchers with a close request after user activation, fires cancel:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Multiple CloseWatchers created with user activation close in reverse order:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - 3 user activations let you have 3 + 1 = 4 ungrouped close watchers/0 cancel events:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - 3 user activations let you have 2 close watchers with 1 cancel event, even if the first cancel event is prevented:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - destroy()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close request:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - requestClose()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close request:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - closing the free CloseWatcher via a close request allows a new free one to be created without user activation, and it receives a second close request:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - The second watcher can be the free watcher, if the first is created with user activation:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - The third watcher can be the free watcher, if the first two are created with user activation:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- CloseWatchers created without user activation, but requestClose()d via user activation, fires cancel:
Comment 5•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/011c855ac718
https://hg.mozilla.org/mozilla-central/rev/b1ae12d76188
Description
•