Closed Bug 1846676 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 41285 - CloseWatcher: improve sendCloseRequest test helper

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox118 fixed)

RESOLVED FIXED
118 Branch
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}

PR 41285 applied with additional changes from upstream: 7f3c31af0515719d68659ae1bb87a46fc366a132, d8c9a694e850e1715d83802f1b2adb0c2f8d41b7, d5c4e9b3ef79ee0fd420e3ce477c10fb1ab5ff8d, 9b740580f505e583c4fa689ed78bc6633dac0f2d, 7fe9e78691410d5e2eb9bd78e79f14988e5b5643

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

GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

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)
  • /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)
  • /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)
  • /close-watcher/event-properties.html [wpt.fyi]
    • cancel and close event properties are correct: FAIL (Chrome: FAIL, Safari: FAIL)
  • /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)
  • /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)
  • /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)
  • /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)
  • /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)
Pushed by ctuns@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/011c855ac718 [wpt PR 41285] - CloseWatcher: improve sendCloseRequest test helper, a=testonly https://hg.mozilla.org/mozilla-central/rev/b1ae12d76188 [wpt PR 41285] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 118 Branch
You need to log in before you can comment on or make changes to this bug.