[wpt-sync] Sync PR 36918 - Disallow "combined" top layer APIs
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
| 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:
dialog.showModal()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
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
| Assignee | ||
Comment 2•3 years ago
|
||
| Assignee | ||
Comment 3•3 years ago
|
||
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)
- Ensure no crashes if running animations are immediately cancelled (document removal):
- /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)
- Descendent animations should keep the pop up visible until the animation ends:
- /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)
- The element <div popover="" id="boolean">Pop up</div> should behave as a popover.:
- /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)
- Popovershow and popoverhide events (listener) get properly dispatched for popovers:
- /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)
- Popover focus test: default behavior - popover is not focused:
- /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)
- Clicking outside a popover will dismiss the popover:
- /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)
- Popovers located inside shadow DOM can still be shown:
- /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)
- Popover combination: Popover Dialog:
- /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)
- A Popover API should close a Popover API:
- /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)
- Popover focus navigation:
Comment 5•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/e68de6897a51
https://hg.mozilla.org/mozilla-central/rev/475470676013
Description
•