[wpt-sync] Sync PR 34722 - Update the pop-up implementation to match hint/auto resolutions
Categories
(Core :: DOM: Core & HTML, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox104 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
(Blocks 1 open bug, )
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 34722 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/34722
Details from upstream follow.
Mason Freed <masonf@chromium.org> wrote:
Update the pop-up implementation to match hint/auto resolutions
See the set of behaviors described here:
https://github.com/openui/open-ui/issues/525#issuecomment-1119093412
which were resolved here:
https://github.com/openui/open-ui/issues/525#issuecomment-1125293226
This CL implements those changes in behavior, which mostly deal with
how popup=auto and popup=hint interact, and some small changes to how
defaultopen
works.Bug: 1307772
Change-Id: I4d280b60e7c341b4d0f97fe82e60134ff4a6e1fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3742105
Auto-Submit: Mason Freed \<masonf@chromium.org>
Reviewed-by: Joey Arhar \<jarhar@chromium.org>
Commit-Queue: Mason Freed \<masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1021327}
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=cbeec1340e983078be44b757e5ba6b9dfe94b300
Assignee | ||
Comment 2•2 years ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 10 tests and 7 subtests
Status Summary
Firefox
OK
: 9
PASS
: 3
FAIL
: 102
ERROR
: 1
Chrome
OK
: 10
PASS
: 81
FAIL
: 23
Safari
OK
: 9
PASS
: 3
FAIL
: 102
ERROR
: 1
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /html/semantics/popups/popup-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/popups/popup-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 "hide" event handler to animate the hide:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - It should not be possible to use the "hide" event handler to animate the hide, if the hide is due to dialog.showModal:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - hide event cannot be cancelled:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Descendent animations should keep the pop up visible until the animation ends:
- /html/semantics/popups/popup-attribute-basic.tentative.html [wpt.fyi]
- The .showPopUp() and .hidePopUp() work on a pop-up, for <div popup="" id="boolean">Pop up</div>.:
FAIL
(Chrome:PASS
, Safari:FAIL
) - The .showPopUp() and .hidePopUp() work on a pop-up, for <div popup="">Pop up</div>.:
FAIL
(Chrome:PASS
, Safari:FAIL
) - The .showPopUp() and .hidePopUp() work on a pop-up, for <div popup="auto">Pop up</div>.:
FAIL
(Chrome:PASS
, Safari:FAIL
) - The .showPopUp() and .hidePopUp() work on a pop-up, for <div popup="hint">Pop up</div>.:
FAIL
(Chrome:PASS
, Safari:FAIL
) - The .showPopUp() and .hidePopUp() work on a pop-up, for <div popup="manual">Pop up</div>.:
FAIL
(Chrome:PASS
, Safari:FAIL
) - The .showPopUp() and .hidePopUp() do NOT work on elements without a 'popup' attribute, <div>Not a pop-up</div>.:
FAIL
(Chrome:PASS
, Safari:FAIL
) - The .showPopUp() and .hidePopUp() do NOT work on elements without a 'popup' attribute, <div popup="popup">Not a pop-up</div>.:
FAIL
(Chrome:PASS
, Safari:FAIL
) - The .showPopUp() and .hidePopUp() do NOT work on elements without a 'popup' attribute, <div popup="invalid">Not a pop-up</div>.:
FAIL
(Chrome:PASS
, Safari:FAIL
) - IDL attribute reflection:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup attribute value should be case insensitive:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing attribute values for pop-up should work:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing attribute values should close open pop-ups:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Removing a visible popup=auto element from the document should close the pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - A showing popup=auto does not match :modal:
FAIL
(Safari:FAIL
) - Removing a visible popup=hint element from the document should close the pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - A showing popup=hint does not match :modal:
FAIL
(Safari:FAIL
) - Removing a visible popup=manual element from the document should close the pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - A showing popup=manual does not match :modal:
FAIL
(Safari:FAIL
) - Exceptions are thrown even when show/hide are animated:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- The .showPopUp() and .hidePopUp() work on a pop-up, for <div popup="" id="boolean">Pop up</div>.:
- /html/semantics/popups/popup-defaultopen-hints.tentative.html [wpt.fyi]
- The defaultopen attribute should not apply to popup=hint:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- The defaultopen attribute should not apply to popup=hint:
- /html/semantics/popups/popup-defaultopen.tentative.html [wpt.fyi]
- The defaultopen attribute should affect page load only:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- The defaultopen attribute should affect page load only:
- /html/semantics/popups/popup-events.tentative.html [wpt.fyi]
- Show and hide events get properly dispatched for popups:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Show and hide events get properly dispatched for popups:
- /html/semantics/popups/popup-focus.tentative.html [wpt.fyi]
- Popup focus test: default behavior - pop-up is not focused:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: default behavior - pop-up is not focused:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup focus test: autofocus pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: autofocus pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: autofocus pop-up:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: autofocus empty pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: autofocus empty pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: autofocus empty pop-up:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: autofocus pop-up with button:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: autofocus pop-up with button:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: autofocus pop-up with button:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: autofocus child:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: autofocus child:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: autofocus child:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: autofocus on tabindex=0 element:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: autofocus on tabindex=0 element:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: autofocus on tabindex=0 element:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: autofocus multiple children:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: autofocus multiple children:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: autofocus multiple children:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: autofocus pop-up and multiple autofocus children:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: autofocus pop-up and multiple autofocus children:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: autofocus pop-up and multiple autofocus children:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: delegatesfocus pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: delegatesfocus pop-up:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: delegatesfocus pop-up:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: delegatesfocus takes precedence over autofocus:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: delegatesfocus takes precedence over autofocus:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: delegatesfocus takes precedence over autofocus:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: delegatesfocus takes precedence over autofocus 2:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: delegatesfocus takes precedence over autofocus 2:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: delegatesfocus takes precedence over autofocus 2:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: delegatesfocus on empty pop-up has no effect:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: delegatesfocus on empty pop-up has no effect:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup focus test: delegatesfocus on child has no effect:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: delegatesfocus on child has no effect:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup focus test: delegatesfocus skips contained pop-ups:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: delegatesfocus skips contained pop-ups:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: delegatesfocus skips contained pop-ups:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Popup focus test: delegatesfocus skips contained dialogs:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup button click focus test: delegatesfocus skips contained dialogs:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Popup corner cases test: delegatesfocus skips contained dialogs:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Popup focus test: default behavior - pop-up is not focused:
- /html/semantics/popups/popup-light-dismiss.tentative.html [wpt.fyi]:
ERROR
(Chrome:OK
, Safari:ERROR
)- Clicking outside a popup will dismiss the popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Clicking inside a popup does not close that popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Moving focus outside the popup will dismiss the popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Clicking inside a child popup shouldn't close either popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Clicking inside a parent popup should close child popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Clicking on invoking element, after using it for activation, shouldn't close its popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Clicking on invoking element, even if it wasn't used for activation, shouldn't close its popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Clicking on togglepopup 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 popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Dragging from an open popup outside an open popup should leave the popup 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 popup can still be part of the ancestor chain:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Scrolling within a popup should not close the popup:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Moving focus back to the anchor element should not dismiss the popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Moving focus back to the active trigger element should not dismiss the popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Moving focus back to an inactive trigger element should also not dismiss the popup:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Ensure circular/convoluted ancestral relationships are functional:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Ensure circular/convoluted ancestral relationships are functional, with a direct showPopUp():
FAIL
(Chrome:PASS
, Safari:FAIL
) - Light dismiss of mixed popup types:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Clicking outside a popup will dismiss the popup:
- /html/semantics/popups/popup-shadow-dom.tentative.html [wpt.fyi]
- Popups 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 popup stack is preserved across shadow-inclusive ancestors:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Popups located inside shadow DOM can still be shown:
- /html/semantics/popups/popup-types.tentative.html [wpt.fyi]
- hints and manuals do not close pop-ups:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - autos close hints but not manuals:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - hint is not closed by pre-existing auto:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - If a popup=hint is shown, it should hide any other open popup=hint pop-ups, including ancestral pop-ups. (You can't nest popup=hint):
FAIL
(Chrome:PASS
, Safari:FAIL
) - If a popup=auto is shown, it should hide any open popup=hint, including if the popup=hint is an ancestral pop-up of the popup=auto. (You can't nest a popup=auto inside a popup=hint):
FAIL
(Chrome:PASS
, Safari:FAIL
) - If you: a) show a popup=auto (call it D), then b) show a descendent popup=hint of D (call it T), then c) hide D, then T should be hidden. (A popup=hint can be nested inside a popup=auto):
FAIL
(Chrome:FAIL
, Safari:FAIL
) - If you: a) show a popup=auto (call it D), then b) show a non-descendent popup=hint of D (call it T), then c) hide D, then T should be left showing. (Non-nested popup=hint can stay open when unrelated popup=autos are hidden):
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- hints and manuals do not close pop-ups:
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/01f398239ac3 [wpt PR 34722] - Update the pop-up implementation to match hint/auto resolutions, a=testonly https://hg.mozilla.org/integration/autoland/rev/17af93ebef95 [wpt PR 34722] - Update wpt metadata, a=testonly
Comment 4•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/01f398239ac3
https://hg.mozilla.org/mozilla-central/rev/17af93ebef95
Description
•