Closed Bug 1844670 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 41129 - Add additional CloseWatcher WPTs

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

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

Joey Arhar <jarhar@chromium.org> wrote:

Add additional CloseWatcher WPTs

This was recommended here:
https://chromium-review.googlesource.com/c/chromium/src/+/4686066/1..3//COMMIT_MSG#b23

Change-Id: I3e15f00e472a06027f5a74a7d6c7a12e766bb5c7

Reviewed-on: https://chromium-review.googlesource.com/4706628
WPT-Export-Revision: 4f18e34608234a60fb9ff9706fc1afa99d76cf09

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

CI Results

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

Total 13 tests and 12 subtests

Status Summary

Firefox

OK : 13
PASS: 5
FAIL: 58

Chrome

OK : 13
PASS: 7
FAIL: 56

Safari

OK : 13
PASS: 7
FAIL: 56

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-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 (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 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 13 tests and 12 subtests

Status Summary

Firefox

OK : 13
PASS: 5
FAIL: 58

Chrome

OK : 13
PASS: 7
FAIL: 56

Safari

OK : 13
PASS: 7
FAIL: 56

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-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 (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 13 tests and 12 subtests

Status Summary

Firefox

OK : 13
PASS: 5
FAIL: 58

Chrome

OK : 13
PASS: 7
FAIL: 56

Safari

OK : 13
PASS: 7
FAIL: 56

Links

Gecko CI (Treeherder)
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-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?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)
  • /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 (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)

CI Results

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

Total 13 tests and 12 subtests

Status Summary

Firefox

OK : 13
PASS: 5
FAIL: 58

Chrome

OK : 13
PASS: 7
FAIL: 56

Safari

OK : 13
PASS: 7
FAIL: 56

Links

Gecko CI (Treeherder)
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-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?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)
  • /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 (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)

CI Results

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

Total 13 tests and 12 subtests

Status Summary

Firefox

OK : 13
PASS: 5
FAIL: 58

Chrome

OK : 13
PASS: 7
FAIL: 56

Safari

OK : 13
PASS: 7
FAIL: 56

Links

Gecko CI (Treeherder)
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-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?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)
  • /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 (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)

CI Results

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

Total 13 tests and 12 subtests

Status Summary

Firefox

OK : 13
PASS: 5
FAIL: 58

Chrome

OK : 13
PASS: 7
FAIL: 56

Safari

OK : 13
PASS: 7
FAIL: 56

Links

Gecko CI (Treeherder)
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-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?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)
  • /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 (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)

CI Results

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

Total 13 tests and 12 subtests

Status Summary

Firefox

OK : 13
PASS: 5
FAIL: 58

Chrome

OK : 13
PASS: 7
FAIL: 56

Safari

OK : 13
PASS: 7
FAIL: 56

Links

Gecko CI (Treeherder)
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-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?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)
  • /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 (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)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/02b8cf590a10 [wpt PR 41129] - Add additional CloseWatcher WPTs, a=testonly https://hg.mozilla.org/integration/autoland/rev/5934998d3a5d [wpt PR 41129] - Update wpt metadata, a=testonly

CI Results

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

Total 13 tests and 12 subtests

Status Summary

Firefox

OK : 13
PASS: 5
FAIL: 58

Chrome

OK : 13
PASS: 7
FAIL: 56

Safari

OK : 13
PASS: 7
FAIL: 56

Links

Gecko CI (Treeherder)
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-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?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)
  • /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 (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)
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.