Closed Bug 1844675 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 41131 - Add closewatcher+popover+dialog WPT

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 41131 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/41131
Details from upstream follow.

Joey Arhar <jarhar@chromium.org> wrote:

Add closewatcher+popover+dialog WPT

Change-Id: I6f6b920824b1d14e9a1cb35ec76a29854465e885

Reviewed-on: https://chromium-review.googlesource.com/4706545
WPT-Export-Revision: 52eddb24c5a3cc9ba9207150676a2ae276aa0959

PR 41131 applied with additional changes from upstream: 9b740580f505e583c4fa689ed78bc6633dac0f2d, 7fe9e78691410d5e2eb9bd78e79f14988e5b5643, f0bab7b24cc987a7c0eb64cef105b06e8da54294, 57e5278fd9fa7a958fd6b1b69ea8139732e08923
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 12 subtests

Status Summary

Firefox

OK : 12
PASS: 3[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub] 4[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
FAIL: 60[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] 61[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub]

Chrome

OK : 12
PASS: 5
FAIL: 59

Safari

OK : 12
PASS: 5
FAIL: 59

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

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
  • /close-watcher/user-activation-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]

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/closewatcher-dialog-popover.html [wpt.fyi]
    • Opening a CloseWatcher, modal dialog, and popover without user activation causes them all to be closed with one close request.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Opening a CloseWatcher, modal dialog, and popover with user activation for each should close one at a time with close requests.: FAIL (Chrome: FAIL, Safari: 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.: 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-CloseWatcher.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)
    • Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel: 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)
    • 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)
  • /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-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: PASS, Safari: PASS)
    • Multiple close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
  • /close-watcher/user-activation-shared.html?CloseWatcher [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers created without user activation, but closed via a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers 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 close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation, and closing close watchers with a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 12 subtests

Status Summary

Firefox

OK : 12
PASS: 3[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub] 4[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
FAIL: 60[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] 61[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub]

Chrome

OK : 12
PASS: 5
FAIL: 59

Safari

OK : 12
PASS: 5
FAIL: 59

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

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
  • /close-watcher/user-activation-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]

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/closewatcher-dialog-popover.html [wpt.fyi]
    • Opening a CloseWatcher, modal dialog, and popover without user activation causes them all to be closed with one close request.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Opening a CloseWatcher, modal dialog, and popover with user activation for each should close one at a time with close requests.: FAIL (Chrome: FAIL, Safari: 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.: 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-CloseWatcher.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)
    • Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel: 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)
    • 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)
  • /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-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: PASS, Safari: PASS)
    • Multiple close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
  • /close-watcher/user-activation-shared.html?CloseWatcher [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers created without user activation, but closed via a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers 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 close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation, and closing close watchers with a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 12 subtests

Status Summary

Firefox

OK : 12
PASS: 3[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub] 4[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
FAIL: 60[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] 61[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub]

Chrome

OK : 12
PASS: 5
FAIL: 59

Safari

OK : 12
PASS: 5
FAIL: 59

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

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
  • /close-watcher/user-activation-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]

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/closewatcher-dialog-popover.html [wpt.fyi]
    • Opening a CloseWatcher, modal dialog, and popover without user activation causes them all to be closed with one close request.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Opening a CloseWatcher, modal dialog, and popover with user activation for each should close one at a time with close requests.: FAIL (Chrome: FAIL, Safari: 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.: 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-CloseWatcher.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)
    • Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel: 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)
    • 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)
  • /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-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: PASS, Safari: PASS)
    • Multiple close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
  • /close-watcher/user-activation-shared.html?CloseWatcher [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers created without user activation, but closed via a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers 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 close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation, and closing close watchers with a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 12 subtests

Status Summary

Firefox

OK : 12
PASS: 3[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub] 4[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
FAIL: 60[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] 61[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub]

Chrome

OK : 12
PASS: 5
FAIL: 59

Safari

OK : 12
PASS: 5
FAIL: 59

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

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
  • /close-watcher/user-activation-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]

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/closewatcher-dialog-popover.html [wpt.fyi]
    • Opening a CloseWatcher, modal dialog, and popover without user activation causes them all to be closed with one close request.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Opening a CloseWatcher, modal dialog, and popover with user activation for each should close one at a time with close requests.: FAIL (Chrome: FAIL, Safari: 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.: 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-CloseWatcher.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)
    • Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel: 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)
    • 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)
  • /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-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: PASS, Safari: PASS)
    • Multiple close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
  • /close-watcher/user-activation-shared.html?CloseWatcher [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers created without user activation, but closed via a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers 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 close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation, and closing close watchers with a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 12 subtests

Status Summary

Firefox

OK : 12
PASS: 3[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub] 4[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
FAIL: 60[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] 61[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub]

Chrome

OK : 12
PASS: 5
FAIL: 59

Safari

OK : 12
PASS: 5
FAIL: 59

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

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
  • /close-watcher/user-activation-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]

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/closewatcher-dialog-popover.html [wpt.fyi]
    • Opening a CloseWatcher, modal dialog, and popover without user activation causes them all to be closed with one close request.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Opening a CloseWatcher, modal dialog, and popover with user activation for each should close one at a time with close requests.: FAIL (Chrome: FAIL, Safari: 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.: 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-CloseWatcher.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)
    • Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel: 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)
    • 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)
  • /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-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: PASS, Safari: PASS)
    • Multiple close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
  • /close-watcher/user-activation-shared.html?CloseWatcher [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers created without user activation, but closed via a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers 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 close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation, and closing close watchers with a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 12 subtests

Status Summary

Firefox

OK : 12
PASS: 3[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub] 4[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
FAIL: 60[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] 61[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub]

Chrome

OK : 12
PASS: 5
FAIL: 59

Safari

OK : 12
PASS: 5
FAIL: 59

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

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
  • /close-watcher/user-activation-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]

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/closewatcher-dialog-popover.html [wpt.fyi]
    • Opening a CloseWatcher, modal dialog, and popover without user activation causes them all to be closed with one close request.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Opening a CloseWatcher, modal dialog, and popover with user activation for each should close one at a time with close requests.: FAIL (Chrome: FAIL, Safari: 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.: 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-CloseWatcher.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)
    • Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel: 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)
    • 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)
  • /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-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: PASS, Safari: PASS)
    • Multiple close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
  • /close-watcher/user-activation-shared.html?CloseWatcher [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers created without user activation, but closed via a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers 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 close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation, and closing close watchers with a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/610db614993c [wpt PR 41131] - Add closewatcher+popover+dialog WPT, a=testonly https://hg.mozilla.org/integration/autoland/rev/4478c62ece5c [wpt PR 41131] - Update wpt metadata, a=testonly

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 12 subtests

Status Summary

Firefox

OK : 12
PASS: 3[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub] 4[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]
FAIL: 60[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] 61[Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub]

Chrome

OK : 12
PASS: 5
FAIL: 59

Safari

OK : 12
PASS: 5
FAIL: 59

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

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
  • /close-watcher/user-activation-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview]

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/closewatcher-dialog-popover.html [wpt.fyi]
    • Opening a CloseWatcher, modal dialog, and popover without user activation causes them all to be closed with one close request.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Opening a CloseWatcher, modal dialog, and popover with user activation for each should close one at a time with close requests.: FAIL (Chrome: FAIL, Safari: 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.: 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-CloseWatcher.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)
    • Creating a CloseWatcher from user activation, and requestClose()ing CloseWatchers with user activation, fires cancel: 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)
    • 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)
  • /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-shared.html?dialog [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL [Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: PASS, Safari: PASS)
    • Multiple close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
  • /close-watcher/user-activation-shared.html?CloseWatcher [wpt.fyi]
    • Close watchers created without user activation, but close()d via user activation, do not fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers created without user activation, but closed via a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Close watchers 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 close watchers created without user activation close together (with no cancel): FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation keeps it separate from the free close watcher, but they don't fire cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Creating a close watcher from user activation, and closing close watchers with a close request after user activation, fires cancel: FAIL (Chrome: FAIL, Safari: FAIL)
    • Multiple close watchers 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)
    • 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: 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)
    • destroy()ing the free close watcher allows a new free one to be created without user activation, and it receives the close request: FAIL (Chrome: FAIL, Safari: FAIL)
Test result changes from PR not available.
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.