Closed Bug 1800158 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 36918 - Disallow "combined" top layer APIs

Categories

(Core :: DOM: Core & HTML, task, P4)

task

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 36918 into mozilla-central (this bug is closed when the sync is complete).

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

Mason Freed <masonf@chromium.org> wrote:

Disallow "combined" top layer APIs

As resolved in [1], the top layer APIs, when used on the same element,
should disallow the second API usage. For example, with an element like
\<dialog popover>, this can get to the top layer two ways:

  1. dialog.showModal()
  2. dialog.showPopover()
    With this CL, the first such call will succeed, and the second will
    throw an exception.

[1] https://github.com/openui/open-ui/issues/520#issuecomment-1270626461

Bug: 1307772
Change-Id: If968211a3c69e72b9e734cdff93b8cf96e01860c
Reviewed-on: https://chromium-review.googlesource.com/4017895
WPT-Export-Revision: f50dac18968c21d4af4b78566a3c888af1e8d928

Whiteboard: [wptsync downstream] → [wptsync downstream error]
Component: web-platform-tests → DOM: Core & HTML
Product: Testing → Core
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 13 tests and 2 subtests

Status Summary

Firefox

OK : 8[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-32-2004-qr-debug, Gecko-windows10-32-2004-qr-opt, Gecko-windows10-64-2004-qr-debug, Gecko-windows10-64-2004-qr-opt] 9[GitHub]
PASS : 6
FAIL : 79
ERROR: 2

Chrome

OK : 11
PASS : 72
FAIL : 16

Safari

OK : 9
PASS : 4
FAIL : 81
ERROR: 2

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /html/semantics/popovers/popover-anchor-nesting.tentative.html [wpt.fyi]: ERROR (Chrome: OK, Safari: ERROR)
  • /html/semantics/popovers/popover-animated-hide-cleanup.tentative.html [wpt.fyi]
    • Ensure no crashes if running animations are immediately cancelled (document removal): FAIL (Chrome: PASS, Safari: FAIL)
    • Ensure no crashes if running animations are immediately cancelled (dialog showModal): FAIL (Chrome: PASS, Safari: FAIL)
    • Ensure no crashes if running transitions are immediately cancelled (button click): FAIL (Chrome: PASS, Safari: FAIL)
  • /html/semantics/popovers/popover-animation-corner-cases.tentative.html [wpt.fyi]
    • Descendent animations should keep the pop up visible until the animation ends: FAIL (Chrome: PASS, Safari: FAIL)
    • Pre-existing animations should not keep the pop up visible until the animation ends: FAIL (Chrome: PASS, Safari: FAIL)
    • It should be possible to use the "popoverhide" event handler to animate the hide: FAIL (Chrome: PASS, Safari: FAIL)
    • It should not be possible to use the "popoverhide" event handler to animate the hide, if the hide is due to dialog.showModal: FAIL (Chrome: PASS, Safari: FAIL)
    • hide event cannot be cancelled: FAIL (Chrome: PASS, Safari: FAIL)
    • Closing animations are triggered by changing the popover type: FAIL (Chrome: PASS, Safari: FAIL)
    • animation finish/cancel events must be trusted in order to finish closing the popover.: FAIL (Chrome: PASS, Safari: FAIL)
    • Capturing event listeners can't affect popover animations.: FAIL (Chrome: PASS, Safari: FAIL)
  • /html/semantics/popovers/popover-attribute-basic.tentative.html [wpt.fyi]
    • The element <div popover="" id="boolean">Pop up</div> should behave as a popover.: FAIL (Chrome: PASS, Safari: FAIL)
  • /html/semantics/popovers/popover-events.tentative.html [wpt.fyi]
    • Popovershow and popoverhide events (listener) get properly dispatched for popovers: FAIL (Chrome: PASS, Safari: FAIL)
    • Popovershow and popoverhide events (attribute) get properly dispatched for popovers: FAIL (Chrome: PASS, Safari: FAIL)
    • Popovershow event is cancelable: FAIL (Chrome: PASS, Safari: FAIL)
  • /html/semantics/popovers/popover-focus.tentative.html [wpt.fyi]
    • Popover focus test: default behavior - popover is not focused: FAIL (Chrome: FAIL, Safari: FAIL)
    • Popover button click focus test: default behavior - popover is not focused: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover focus test: autofocus popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover button click focus test: autofocus popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover corner cases test: autofocus popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover focus test: autofocus empty popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover button click focus test: autofocus empty popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover corner cases test: autofocus empty popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover focus test: autofocus popover with button: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover button click focus test: autofocus popover with button: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover corner cases test: autofocus popover with button: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover focus test: autofocus child: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover button click focus test: autofocus child: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover corner cases test: autofocus child: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover focus test: autofocus on tabindex=0 element: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover button click focus test: autofocus on tabindex=0 element: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover corner cases test: autofocus on tabindex=0 element: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover focus test: autofocus multiple children: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover button click focus test: autofocus multiple children: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover corner cases test: autofocus multiple children: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover focus test: autofocus popover and multiple autofocus children: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover button click focus test: autofocus popover and multiple autofocus children: FAIL (Chrome: PASS, Safari: FAIL)
    • Popover corner cases test: autofocus popover and multiple autofocus children: FAIL (Chrome: PASS, Safari: FAIL)
  • /html/semantics/popovers/popover-light-dismiss.tentative.html [wpt.fyi]: ERROR (Chrome: OK, Safari: ERROR)
    • Clicking outside a popover will dismiss the popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Canceling pointer events should not keep clicks from light dismissing popovers: FAIL (Chrome: PASS, Safari: FAIL)
    • Clicking inside a popover does not close that popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Popovers close on pointerup, not pointerdown: FAIL (Chrome: FAIL, Safari: FAIL)
    • Synthetic events can't close popovers: FAIL (Chrome: FAIL, Safari: FAIL)
    • Moving focus outside the popover should not dismiss the popover: FAIL (Chrome: FAIL, Safari: FAIL)
    • Clicking inside a child popover shouldn't close either popover: FAIL (Chrome: FAIL, Safari: FAIL)
    • Clicking inside a parent popover should close child popover: FAIL (Chrome: FAIL, Safari: FAIL)
    • Clicking on invoking element, after using it for activation, shouldn't close its popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Clicking on invoking element, after using it for activation, shouldn't close its popover (nested case): FAIL (Chrome: PASS, Safari: FAIL)
    • Clicking on invoking element, after using it for activation, shouldn't close its popover (nested case, not used for invocation): FAIL (Chrome: PASS, Safari: FAIL)
    • Clicking on invoking element, even if it wasn't used for activation, shouldn't close its popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Clicking on popovertoggletarget element, even if it wasn't used for activation, should hide it exactly once: FAIL (Chrome: PASS, Safari: FAIL)
    • Clicking on anchor element (that isn't an invoking element) shouldn't close its popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Dragging from an open popover outside an open popover should leave the popover open: FAIL (Chrome: PASS, Safari: FAIL)
    • An invoking element should be part of the ancestor chain: FAIL (Chrome: PASS, Safari: FAIL)
    • An invoking element that was not used to invoke the popover can still be part of the ancestor chain: FAIL (Chrome: PASS, Safari: FAIL)
    • Scrolling within a popover should not close the popover: FAIL (Chrome: FAIL, Safari: FAIL)
    • Moving focus back to the anchor element should not dismiss the popover: FAIL (Chrome: PASS, Safari: FAIL)
    • Moving focus back to the active trigger element should not dismiss the popover: FAIL
    • Moving focus back to an inactive trigger element should also not dismiss the popover: FAIL
    • Ensure circular/convoluted ancestral relationships are functional: FAIL (Chrome: PASS, Safari: FAIL)
    • Ensure circular/convoluted ancestral relationships are functional, with a direct showPopover(): FAIL (Chrome: PASS, Safari: FAIL)
    • Hide the target popover during "hide all popovers until": FAIL (Chrome: PASS, Safari: FAIL)
  • /html/semantics/popovers/popover-shadow-dom.tentative.html [wpt.fyi]
    • Popovers located inside shadow DOM can still be shown: FAIL (Chrome: PASS, Safari: FAIL)
    • anchor references do not cross shadow boundaries: FAIL (Chrome: PASS, Safari: FAIL)
    • anchor references use the flat tree not the DOM tree: FAIL (Chrome: PASS, Safari: FAIL)
    • The popover stack is preserved across shadow-inclusive ancestors: FAIL (Chrome: PASS, Safari: FAIL)
  • /html/semantics/popovers/popover-top-layer-combinations.tentative.html [wpt.fyi]
    • Popover combination: Popover Dialog: FAIL (Chrome: FAIL, Safari: FAIL)
    • Popover combination: Open Non-modal Popover Dialog: FAIL (Chrome: FAIL, Safari: FAIL)
    • Popover combination: Defaultopen Popover Dialog: FAIL (Chrome: FAIL, Safari: FAIL)
    • Popover combination: Defaultopen and Open Popover Dialog: FAIL (Chrome: FAIL, Safari: FAIL)
    • Popover combination: Fullscreen Popover: FAIL (Chrome: FAIL, Safari: FAIL)
    • Popover combination: Fullscreen Popover Dialog: FAIL (Chrome: FAIL, Safari: FAIL)
    • Popover combination: Fullscreen Open Non-modal Popover Dialog: FAIL (Chrome: FAIL, Safari: FAIL)
  • /html/semantics/popovers/popover-top-layer-interactions.tentative.html [wpt.fyi]
    • A Popover API should close a Popover API: FAIL (Chrome: PASS, Safari: FAIL)
    • A Modal Dialog should close a Popover API: FAIL (Chrome: PASS, Safari: FAIL)
    • A Fullscreen Element should close a Popover API: FAIL (Chrome: PASS, Safari: FAIL)
    • A Popover API should not close a Modal Dialog: FAIL (Chrome: PASS, Safari: FAIL)
    • A Popover API should not close a Fullscreen Element: FAIL (Chrome: PASS, Safari: FAIL)
    • A Fullscreen Element should close a Fullscreen Element: FAIL (Chrome: PASS, Safari: FAIL)
  • /html/semantics/popovers/popover-focus-2.tentative.html [wpt.fyi]
    • Popover focus navigation: FAIL (Chrome: FAIL, Safari: FAIL)
    • Popover focus returns when popover is hidden by invoker: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e68de6897a51 [wpt PR 36918] - Disallow "combined" top layer APIs, a=testonly https://hg.mozilla.org/integration/autoland/rev/475470676013 [wpt PR 36918] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
You need to log in before you can comment on or make changes to this bug.