On Tue, May 13, 2025 at 7:43 AM Domenic Denicola <dome...@chromium.org>
wrote:

> I'm very slightly worried about the cases which we seem to accept, but the
> latest on the CSSWG thread suggests we should disallow. Namely, @container
> and @page. How sure are you that changing those to be invalid in the
> future, to follow the latest CSSWG decisions, will not cause compat
> problems?
>

For @page, I wouldn't be worried at all. It's unlikely someone will start
using the feature and rely on a constant sibling-index()/sibling-count() in
@page.

For @container, I agree that it's safer to be conservative and wait for the
resolution, since for @container there are clear use cases and and a more
or less obvious behavior in that context.

On Tuesday, May 13, 2025 at 6:37:14 AM UTC+9 Mike Taylor wrote:
>
>> LGTM1
>> On 5/9/25 9:47 AM, Rune Lillesveen wrote:
>>
>> Contact emails futh...@chromium.org, se...@chromium.org
>>
>> Explainer
>> https://github.com/w3c/csswg-drafts/blob/main/css-values-5/tree-counting-explainer.md
>>
>> Specification https://drafts.csswg.org/css-values-5/#tree-counting
>>
>> Design docs
>>
>> https://github.com/w3c/csswg-drafts/blob/main/css-values-5/tree-counting-explainer.md
>>
>> Summary
>>
>> sibling-index() and sibling-count() can be used as integers in CSS
>> property values to style elements based on their position among its
>> siblings, or the total number of siblings respectively. These functions can
>> be used directly as integer values, but more interestingly inside calc()
>> expressions. Example: li { margin-left: calc(10px * sibling-index()); }
>>
>>
>> Blink component Blink>CSS
>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECSS%22>
>>
>> TAG review https://github.com/w3ctag/design-reviews/issues/1068
>>
>> TAG review status Issues addressed
>>
>> Risks
>>
>>
>> Interoperability and Compatibility
>>
>> None
>>
>>
>> *Gecko*: No signal (
>> https://github.com/mozilla/standards-positions/issues/1194)
>>
>> *WebKit*: No signal (
>> https://github.com/WebKit/standards-positions/issues/471)
>>
>> *Web developers*: Positive
>>
>> https://css-tricks.com/how-to-wait-for-the-sibling-count-and-sibling-index-functions/
>> https://chriscoyier.net/2023/11/29/element-indexes/
>> https://kizu.dev/tree-counting-and-random/
>>
>> *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
>>
>> Basic support out-of-the box. With the value debugger (
>> crbug.com/396080529) shipped, evaluating sibling-index()/sibling-count()
>> into a <number> should work out-of-the-box.
>>
>>
>> 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
>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>> ? Yes
>>
>> https://wpt.fyi/results/css/css-values/tree-counting
>>
>>
>> Flag name on about://flags #enable-experimental-web-platform-features
>>
>> Finch feature name CSSSiblingFunctions
>>
>> Rollout plan Will ship enabled for all users
>>
>> Requires code in //chrome? False
>>
>> Tracking bug https://crbug.com/40282719
>>
>> Sample links
>> https://codepen.io/argyleink/pen/KwKXPYW
>>
>> Estimated milestones
>> Shipping on desktop 138
>> DevTrial on desktop 133
>> Shipping on Android 138
>> DevTrial on Android 133
>> Shipping on WebView 138
>>
>> Anticipated spec changes
>>
>>
>> There is an open issue[1] about what tree counting functions mean outside
>> of element contexts. The plan is to handles tree counting functions like
>> this for the relevant @-rules when shipping:
>>
>>
>> - @font-face: invalid at parse time
>>
>> - @font-palette-values: invalid at parse time
>>
>> - @property: accepted at parse time (the values are strings), but since
>> these values are not computationally independent when evaluated, they will
>> be dropped as initial values.
>>
>> - @counter-style: invalid at parse time
>>
>> - @container: the container is in an element context and tree counting
>> functions are evaluated as such
>>
>> - @page: accepted at parse time and evaluated against the root element
>>
>> - @media (in query value): invalid at parse time
>>
>>
>> Shipping a different specified behavior for tree counting functions in
>> these contexts (to what the issue is resolved to later) should be
>> straightforward.
>>
>>
>> [1] https://github.com/w3c/csswg-drafts/issues/10982
>>
>> Link to entry on the Chrome Platform Status
>> https://chromestatus.com/feature/6225478530367488?gate=6089164107546624
>>
>> Links to previous Intent discussions Intent to Prototype:
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67c70d35.2b0a0220.36af1.0007.GAE%40google.com
>>
>> This intent message was generated by Chrome Platform Status
>> <https://chromestatus.com/>.
>> --
>> Rune Lillesveen
>>
>> --
>> 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+unsubscr...@chromium.org.
>> To view this discussion visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuPfeTS2BYBs8yqpNXnJa5tAMwPar4X3jOPtLddMydRX0oEoA%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuPfeTS2BYBs8yqpNXnJa5tAMwPar4X3jOPtLddMydRX0oEoA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>>

-- 
Rune Lillesveen

-- 
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+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuPfeS%3Dx8vjv3rBq5%3D8h2_JNxVewdNW0TrDOnc-dy5AcTG2fQ%40mail.gmail.com.

Reply via email to