LGTM2

On 04/10/2023 11:49, Yoav Weiss wrote:
Thanks for clarifying and verifying! :) My LGTM still stands.

On Wed, Oct 4, 2023 at 11:48 AM Anders Hartvoll Ruud <andr...@chromium.org <mailto:andr...@chromium.org>> wrote:



    On Tue, Oct 3, 2023 at 8:46 PM Anders Hartvoll Ruud
    <andr...@chromium.org <mailto:andr...@chromium.org>> wrote:

        On Tue, Oct 3, 2023 at 3:14 PM Yoav Weiss
        <yoavwe...@chromium.org <mailto:yoavwe...@chromium.org>> wrote:

            LGTM1

            Thanks for evaluating the compat risk for this. While
            non-zero, it seems manageable given Mozilla already shipping
            this, with Safari likely to follow, given the landed
            implementation.


        Clarification: Mozilla is shipping the main part of the feature
        (retrying a failed declaration as a nested style rule), but they
        are not (yet) shipping the tweaks to css-syntax described as
        risk (1) and (2). (1) is a recent resolution (~three weeks), so
        no mystery there. (2) has been part of this all along - I assume
        it was seen as something that could be done separately (and it is).


    Just to make sure it wasn't /deliberately/ omitted for whatever
    reason, I checked with Emilio and they do intend to implement (1)
    and (2) once it's specified.


        So in this case "Mozilla: Shipping" should only be interpreted
        as a positive signal for the overall change, not as a way to
        manage compat risk. :-)

        I'll emphasize again though, that in both (1) and (2), we're
        just changing from one kind of invalid/has-no-effect to a
        /slightly/ different kind of invalid/has-no-effect.

            On Mon, Oct 2, 2023 at 1:30 PM Anders Hartvoll Ruud
            <andr...@chromium.org <mailto:andr...@chromium.org>> wrote:


                        Contact emails

                andr...@chromium.org <mailto:andr...@chromium.org>


                        Specification

                https://drafts.csswg.org/css-syntax/#consume-block-contents 
<https://drafts.csswg.org/css-syntax/#consume-block-contents>


                        Summary

                Allows nested style rules
                <https://drafts.csswg.org/css-nesting-1/#nested-style-rule> to 
begin with an identifier. For example, the following will now be possible:


                p {

                   span { color: green; }

                }


                <p>

                   <span>I am green</span>

                </p>


                Before this change, the inner spanselector had to be
                “escaped” using :is()or similar, due to restrictions in
                css-syntax. These restrictions have now been lifted by
                giving the parser the ability to restart
                
<https://drafts.csswg.org/css-syntax/#token-stream-restore-a-mark>.


                        Blink component

                Blink>CSS
                
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>


                        TAG review

                None


                        TAG review status

                Not applicable


                        Risks



                        Interoperability and Compatibility

                To address some problematic parsing edge cases, the
                CSSWG has made two additional changes to css-syntax that
                have theoretical web-facing impact. These changes will
                ship in this intent as well:


                 1.

                    Braces ({}) are now fundamentally invalid in
                    standard properties, unless they span the whole
                    value. No property grammar allows {}in any part of
                    the value currently, so this is already invalid, but
                    when var()is used in combination with {}, this
                    intent changes whenit becomes invalid. With this
                    intent, e.g. color: var(--x) {};becomes invalid
                    parse-timeinstead of at computed-value time
                    
<https://drafts.csswg.org/css-variables/#invalid-at-computed-value-time>. This isan 
observable difference, but there’s no known reason for this to occur in practice outside of 
mistakes. Nevertheless, I have tried to estimate the number of possibly-impacted sites:  ~0.0011% 
(Web Compat Analysis: Relaxed Nesting 
<https://docs.google.com/document/d/1WxIAXWFy3q9XJrFK8k2J5my71jn8Cvdxq6Z8NAg99Q0/edit#bookmark=id.ufp2erlyto93>[@chromium.org
 <http://chromium.org>]).

                 2.

                    A style rule prelude (i.e. the selector list) can no
                    longer start with --ident:. Again, this is in a
                    sense already “invalid”, since HTML elements never
                    start with -- (including custom elements, which must
                    start with a letter), so such rules can never match
                    anything. This intent makes the situation a parse
                    error instead. Estimated impact: ~0.0007% (Web
                    Compat Analysis: Relaxed Nesting
                    
<https://docs.google.com/document/d/1WxIAXWFy3q9XJrFK8k2J5my71jn8Cvdxq6Z8NAg99Q0/edit#bookmark=id.geo17wxm8bwh>[@chromium.org
 <http://chromium.org>]).


                Gecko: Shipped/Shipping
                (https://www.mozilla.org/en-US/firefox/117.0/releasenotes 
<https://www.mozilla.org/en-US/firefox/117.0/releasenotes>)


                WebKit: In development
                (https://github.com/WebKit/WebKit/pull/17189
                <https://github.com/WebKit/WebKit/pull/17189>)


                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

                Nested style rules that start with identifiers appear in
                the inspector like other nested style rules.



                        Will this feature be supported on all six Blink
                        platforms (Windows, Mac, Linux, Chrome OS,
                        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


                The tests exist in wpt_internal/css/css-nesting/ident at
                the time of writing, but will be upstreamed when the
                feature is turned on.


                        Flag name on chrome://flags

                CSSNestingIdent


                        Finch feature name

                I’m not sure what a “Finch feature name” is. There have
                been no Finch trialsrelated to this, but the feature is
                guarded by the Blink runtime flag “CSSNestingIdent” with
                “base_feature” unset, which automatically generates a
                corresponding base::Feature.


                        Non-finch justification

                None


                        Requires code in //chrome?

                False


                        Estimated milestones

                Shipping on desktop

                        

                120


                Shipping on Android

                        

                120


                Shipping on WebView

                        

                120




                        Anticipated spec changes


                These issues need to be resolved and/or edited into the
                spec beforeshipping.


                  *

                    https://github.com/w3c/csswg-drafts/issues/9317
                    <https://github.com/w3c/csswg-drafts/issues/9317>The
                    behavior that braces are invalid in standard
                    properties (unless it’s the whole value) was
                    resolved at TPAC 2023, but css-syntax has not been
                    updated yet.

                  *

                    https://github.com/w3c/csswg-drafts/issues/9336
                    <https://github.com/w3c/csswg-drafts/issues/9336>This is a 
tweak to the error recovery of the --ident: case. This needs a resolution, and an 
edit.


                There are no anticipated spec changes aftershipping.


                        Link to entry on the Chrome Platform Status

                https://chromestatus.com/feature/5070369895743488
                <https://chromestatus.com/feature/5070369895743488>


                This intent message was generated by Chrome Platform
                Status <https://chromestatus.com/>.


-- 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
                <mailto:blink-dev+unsubscr...@chromium.org>.
                To view this discussion on the web visit
                
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUpW7rNg%3DUMe34ERTnaFug2W1FPzmYEypOKqLN1Kk1OE2Q%40mail.gmail.com
 
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUpW7rNg%3DUMe34ERTnaFug2W1FPzmYEypOKqLN1Kk1OE2Q%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 <mailto:blink-dev+unsubscr...@chromium.org>. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfU8%2BZSKg5LApshP_C_oMKqaU17b25RoFNgH1fMaJgQe3w%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfU8%2BZSKg5LApshP_C_oMKqaU17b25RoFNgH1fMaJgQe3w%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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7a09dcfd-d6e4-423a-882e-c5e365de3920%40igalia.com.

Reply via email to