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 <https://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>.

--
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/cb74508f-654e-43e3-8243-4eb475dab2e7%40chromium.org.

Reply via email to