Intent to Ship: Rename position-try-options to position-try-fallbacks

495 views
Skip to first unread message

Mason Freed

unread,
Jul 10, 2024, 3:35:05 PMJul 10
to blink-dev

{NOTE: this is a replacement of this chromestatus, which has the wrong feature type and cannot be changed.}


Contact emails

[email protected][email protected]

Explainer

None

Specification

https://github.com/w3c/csswg-drafts/issues/10395#issuecomment-2192127524

Summary

The CSSWG resolved to rename this property, because "fallbacks" more accurately describes what this property controls. The word "options" is a bit deceiving, since the styles outside of `position-try` blocks will be tested first, and if they result in a layout that fits within the containing block, none of the "options" will get used. So "fallbacks" is a better word to describe this behavior. https://github.com/w3c/csswg-drafts/issues/10395#issuecomment-2192127524



Blink component

Blink>CSS

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

This is a name change, which will result in the old name no longer functioning. So there is a risk of breakage. However, the anchor positioning feature was very recently shipped, and does not have implementation in other browsers. So we feel the risk is quite small currently, but will grow over time. Given that, we'd like to rename this property ASAP to avoid the risk getting too large. The use counter is currently quite low, around 0.01% in June: https://chromestatus.com/metrics/css/timeline/popularity/784 An HTTP Archive search was performed, which showed that almost all usage comes from one Shopify CSS file (`spec-and-compare.css`), and we intend to reach out to Shopify (or hope for a response from one very special Blink API owner) to make sure this will not break Shopify.



Gecko: No signal

WebKit: No signal

Web developers: No signals

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/css/css-anchor-position



Flag name on chrome://flags

None

Finch feature name

None

Non-finch justification

None

Requires code in //chrome?

False

Tracking bug

https://crbug.com/349600667

Estimated milestones

Shipping on desktop128
DevTrial on desktop128
Shipping on Android128
DevTrial on Android128
Shipping on WebView128


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/5090673808900096?gate=5938066895405056

This intent message was generated by Chrome Platform Status.

Vladimir Levin

unread,
Jul 17, 2024, 1:29:19 PMJul 17
to Mason Freed, blink-dev
On Wed, Jul 10, 2024 at 6:34 PM Mason Freed <[email protected]> wrote:

{NOTE: this is a replacement of this chromestatus, which has the wrong feature type and cannot be changed.}


Contact emails

[email protected][email protected]

Explainer

None

Specification

https://github.com/w3c/csswg-drafts/issues/10395#issuecomment-2192127524

Summary

The CSSWG resolved to rename this property, because "fallbacks" more accurately describes what this property controls. The word "options" is a bit deceiving, since the styles outside of `position-try` blocks will be tested first, and if they result in a layout that fits within the containing block, none of the "options" will get used. So "fallbacks" is a better word to describe this behavior. https://github.com/w3c/csswg-drafts/issues/10395#issuecomment-2192127524



Blink component

Blink>CSS

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

This is a name change, which will result in the old name no longer functioning. So there is a risk of breakage. However, the anchor positioning feature was very recently shipped, and does not have implementation in other browsers. So we feel the risk is quite small currently, but will grow over time. Given that, we'd like to rename this property ASAP to avoid the risk getting too large. The use counter is currently quite low, around 0.01% in June: https://chromestatus.com/metrics/css/timeline/popularity/784 An HTTP Archive search was performed, which showed that almost all usage comes from one Shopify CSS file (`spec-and-compare.css`), and we intend to reach out to Shopify (or hope for a response from one very special Blink API owner) to make sure this will not break Shopify.


Have you had a chance to investigate what a breakage looks like by checking the sites using the feature?

I think this rename is fairly safe, but I want to make sure that we're planning on shipping it with a flag that would be able to undo the behavior (a killswitch). I assume having two flags, one to add a new flag and one to remove the old flag is the easiest way to do that. WDYT?

Thanks,
Vlad

 
--
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 [email protected].
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDj38gT4PfU4fCXhkdAOLvdY8c_sgukkotmHnC6wTZoDhQ%40mail.gmail.com.

Yoav Weiss (@Shopify)

unread,
Jul 17, 2024, 11:51:42 PMJul 17
to Vladimir Levin, Mason Freed, blink-dev
On Wed, Jul 17, 2024 at 10:29 PM Vladimir Levin <[email protected]> wrote:


On Wed, Jul 10, 2024 at 6:34 PM Mason Freed <[email protected]> wrote:

{NOTE: this is a replacement of this chromestatus, which has the wrong feature type and cannot be changed.}


Contact emails

[email protected][email protected]

Explainer

None

Specification

https://github.com/w3c/csswg-drafts/issues/10395#issuecomment-2192127524

Summary

The CSSWG resolved to rename this property, because "fallbacks" more accurately describes what this property controls. The word "options" is a bit deceiving, since the styles outside of `position-try` blocks will be tested first, and if they result in a layout that fits within the containing block, none of the "options" will get used. So "fallbacks" is a better word to describe this behavior. https://github.com/w3c/csswg-drafts/issues/10395#issuecomment-2192127524



Blink component

Blink>CSS

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

This is a name change, which will result in the old name no longer functioning. So there is a risk of breakage. However, the anchor positioning feature was very recently shipped, and does not have implementation in other browsers. So we feel the risk is quite small currently, but will grow over time. Given that, we'd like to rename this property ASAP to avoid the risk getting too large. The use counter is currently quite low, around 0.01% in June: https://chromestatus.com/metrics/css/timeline/popularity/784 An HTTP Archive search was performed, which showed that almost all usage comes from one Shopify CSS file (`spec-and-compare.css`), and we intend to reach out to Shopify (or hope for a response from one very special Blink API owner) to make sure this will not break Shopify.


Have you had a chance to investigate what a breakage looks like by checking the sites using the feature?

More specifically, as discussed previously, this usage is coming from a 3P app that merchant sites install and that Shopify has no direct control over. Have you reached out to the app's authors? Have you tried to see if it gets broken by this change?
 

Mason Freed

unread,
Jul 24, 2024, 3:22:30 PMJul 24
to Yoav Weiss (@Shopify), Vladimir Levin, blink-dev
On Wed, Jul 17, 2024 at 11:51 PM Yoav Weiss (@Shopify) <[email protected]> wrote:

Have you had a chance to investigate what a breakage looks like by checking the sites using the feature?


More specifically, as discussed previously, this usage is coming from a 3P app that merchant sites install and that Shopify has no direct control over. Have you reached out to the app's authors? Have you tried to see if it gets broken by this change? 

So I've been successful in getting in touch with this 3P app author, and they've already disabled their usage of anchor positioning generally. So that specific case should be handled. Generally, the behavior that will be broken by the rename is that fallback positions will not be attempted, meaning only the primary anchor position will be used. 
 
I think this rename is fairly safe, but I want to make sure that we're planning on shipping it with a flag that would be able to undo the behavior (a killswitch). I assume having two flags, one to add a new flag and one to remove the old flag is the easiest way to do that. WDYT?

Thanks, I'm glad you agree that this should be relatively safe, if done soon before usage increases. And to confirm, we do have two flags (CSSPositionTryFallbacks and CSSPositionTryOptions) which work exactly as you suggest. We will flip flop their states, but retain the ability to swap that back via Finch in case of emergency.

Thanks,
Mason

Daniel Bratell

unread,
Jul 25, 2024, 1:24:27 AMJul 25
to Mason Freed, Yoav Weiss (@Shopify), Vladimir Levin, blink-dev

Chris Harrelson

unread,
Jul 25, 2024, 7:36:24 AMJul 25
to Daniel Bratell, Mason Freed, Yoav Weiss (@Shopify), Vladimir Levin, blink-dev

Mike Taylor

unread,
Jul 25, 2024, 10:28:57 AMJul 25
to Chris Harrelson, Daniel Bratell, Mason Freed, Yoav Weiss (@Shopify), Vladimir Levin, blink-dev

Mason Freed

unread,
Jul 26, 2024, 8:58:06 AMJul 26
to Mike Taylor, Chris Harrelson, Daniel Bratell, Yoav Weiss (@Shopify), Vladimir Levin, blink-dev
Thanks all!

Reply all
Reply to author
Forward
0 new messages