Intent to Ship: Allow top layer elements to be nested within popovers

285 views
Skip to first unread message

Mason Freed

unread,
Mar 26, 2024, 1:58:51 PMMar 26
to blink-dev

Contact emails

mas...@chromium.org

Explainer

None

Specification

https://github.com/whatwg/html/pull/10116

Summary

The prior behavior caused issues if a top layer element (dialog, fullscreen, etc.) was DOM-nested within a popover. The inner element, when promoted to the top layer, would cause the outer popover to be hidden, which also (via CSS display:none) hid the inner element. That, in turn, caused issues at least for dialogs, which inert the entire page. This change makes top layer elements "nestable" within popovers.



Blink component

Blink>DOM>Popover

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

This will "unbreak" a set of broken behaviors. The compat risk is extremely low, given the recent launch of the Popover API, and the broken current behavior. The small risk is that someone nested a top layer element within a Popover, and then relied on it *not* being visible after being shown.



Gecko: Shipped/Shipping https://phabricator.services.mozilla.com/D200686

WebKit: Positive Informal support at WHATNOT meeting: https://github.com/whatwg/html/issues/10052#issuecomment-1911240732

Web developers: Positive Issue raised by developers

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Debuggability

None



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Yes

Is this feature fully tested by web-platform-tests?

Yes

https://wpt.fyi/results/html/semantics/popovers?label=master&label=experimental&aligned&q=opover-top-layer-nesting



Flag name on chrome://flags

NestedTopLayerSupport

Finch feature name

NestedTopLayerSupport

Requires code in //chrome?

False

Tracking bug

https://crbug.com/1520938

Estimated milestones

DevTrial on desktop123
DevTrial on Android123


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5149353645965312?gate=5083908142268416

This intent message was generated by Chrome Platform Status.

Domenic Denicola

unread,
Mar 26, 2024, 10:53:46 PMMar 26
to blink-dev, Mason Freed
LGTM1. I think there is a small compat risk here but it should be manageable via the combination of: low popover + dialog usage so far, presumably by actively-updated sites, and a Finch flag if something breaks really badly.

Mike Taylor

unread,
Mar 27, 2024, 10:29:57 AMMar 27
to Domenic Denicola, blink-dev, Mason Freed

LGTM2

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ca3bd684-6d5a-4e60-b2b6-1de024f673acn%40chromium.org.

Yoav Weiss (@Shopify)

unread,
Mar 27, 2024, 11:23:42 AMMar 27
to blink-dev, Mike Taylor, Mason Freed, Domenic Denicola
LGTM3

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Mason Freed

unread,
Mar 27, 2024, 6:20:13 PMMar 27
to Yoav Weiss (@Shopify), blink-dev, Mike Taylor, Domenic Denicola
Thank you all!

LGTM3

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Reply all
Reply to author
Forward
0 new messages