LGTM3

On Tue, Aug 6, 2024, 6:05 AM Yoav Weiss (@Shopify) <yoavwe...@chromium.org>
wrote:

> LGTM2
>
> On Tue, Aug 6, 2024 at 3:02 PM Philip Jägenstedt <foo...@chromium.org>
> wrote:
>
>> LGTM1, this is important to do sooner rather than later, so that the
>> current behavior is not locked in by site compat. Thank you for finding a
>> solution that's acceptable to everyone!
>>
>> Given that this was discussed extensively in the CSSWG, I don't think we
>> need to wait further on vendor positions.
>>
>> On Fri, Aug 2, 2024 at 11:06 AM Anders Hartvoll Ruud <
>> andr...@chromium.org> wrote:
>>
>>> On Fri, Aug 2, 2024 at 1:54 AM Daniel Clark <dan...@microsoft.com>
>>> wrote:
>>>
>>>> The stated answer to “Will this feature be supported on all six Blink
>>>> platforms” is “No”, but I’d expect this to be the same on all platforms –
>>>> is that right?
>>>>
>>>
>>> Yes, that was a mistake.
>>>
>>>
>>>>
>>>>
>>>> Could you elaborate a bit on why this might not be doable behind a flag?
>>>>
>>>>
>>>>
>>>
>>> This comment was ... "inherited" from the previous version of this
>>> intent (
>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/prg4CN0eEGg?pli=1).
>>> Looking a bit closer at CSSParserImpl now, it seems doable. We can proceed
>>> as if this will have a flag. I'll post the flag name to this thread before
>>> shipping.
>>>
>>>
>>>> -- Dan
>>>>
>>>>
>>>>
>>>> *From:* Anders Hartvoll Ruud <andr...@chromium.org>
>>>> *Sent:* Thursday, August 1, 2024 4:14 AM
>>>> *To:* blink-dev <blink-dev@chromium.org>
>>>> *Subject:* [blink-dev] Intent to Ship: The Nested Declarations Rule
>>>>
>>>>
>>>>
>>>> Note: See also the previous (failed) intent
>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/prg4CN0eEGg>
>>>> for @nest. All CSSWG disagreements around this are now resolved.
>>>>
>>>>
>>>> Contact emails
>>>>
>>>> andr...@chromium.org
>>>>
>>>>
>>>> Specification
>>>>
>>>> https://drafts.csswg.org/css-nesting-1/#nested-declarations-rule
>>>>
>>>>
>>>> Summary
>>>>
>>>>
>>>>
>>>> CSS Nesting initially shipped with an interesting quirk that would
>>>> cause bare declarations that come after a nested rule to “shift”, for
>>>> example:
>>>>
>>>>
>>>>
>>>> .foo {
>>>>
>>>>   width: 100px;
>>>>
>>>>   height: 100px;
>>>>
>>>>   @media screen {
>>>>
>>>>     background-color: red;
>>>>
>>>>   }
>>>>
>>>>   background-color: green;
>>>>
>>>> }
>>>>
>>>>
>>>>
>>>> You would think that the background-color of <div class=foo> would be
>>>> green here, but no, that declaration is shifted up to the main (leading)
>>>> block of declarations during parsing:
>>>>
>>>>
>>>>
>>>> .foo {
>>>>
>>>>   width: 100px;
>>>>
>>>>   height: 100px;
>>>>
>>>>   background-color: green; /* I’m here now */
>>>>
>>>>   @media screen {
>>>>
>>>>     background-color: red;
>>>>
>>>>   }
>>>>
>>>> }
>>>>
>>>>
>>>>
>>>> This was at the time done intentionally for a mix of CSSOM and
>>>> historical reasons, and all implementations of CSS Nesting currently agree
>>>> on this behavior. However, it turns out this shifting behavior isn’t what
>>>> authors expect (WebKit blog post
>>>> <https://webkit.org/blog/14571/css-nesting-and-the-cascade/#:~:text=an%20element%20selector.-,Another%20question,-There%20is%20one>),
>>>> and the CSSWG now consider the decision a mistake. In October 2023, the
>>>> CSSWG resolved
>>>> <https://github.com/w3c/csswg-drafts/issues/8738#issuecomment-1768977689>
>>>> to not do the shifting behavior anymore, and after a long debate on how to
>>>> handle the implications of this (Issue 10234
>>>> <https://github.com/w3c/csswg-drafts/issues/10234>), the CSSWG finally
>>>> resolved to introduce the CSSNestedDeclarations rule to solve the problem.
>>>>
>>>>
>>>> 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
>>>>
>>>>
>>>>
>>>> This intent is a breaking change, with two main points of breakage:
>>>>
>>>>
>>>>
>>>>    - Keeping the bare declarations in place can affect the winner of
>>>>    the cascade (the example in the introduction). This is covered by
>>>>    CSSBareDeclarationShift
>>>>    <https://chromestatus.com/metrics/feature/timeline/popularity/4783>
>>>>    (0.00042%).
>>>>    - Additionally, CSSNestingDeclarations will have different
>>>>    specificity behavior for nested group rules, and this can also affect 
>>>> the
>>>>    winner of the cascade. This is covered by
>>>>    CSSNestedGroupRuleSpecificity
>>>>    <https://chromestatus.com/metrics/feature/timeline/popularity/4784>
>>>>    (0.00046%).
>>>>
>>>>
>>>> Interoperability and Compatibility
>>>>
>>>>
>>>>
>>>> *Gecko*: No signal (
>>>> https://github.com/mozilla/standards-positions/issues/1048) - “looks
>>>> acceptable to me”. Note that the issue Emilio mentions in his feedback has
>>>> been resolved <https://github.com/w3c/csswg-drafts/issues/10520>.
>>>>
>>>>
>>>>
>>>> *WebKit*: No signal on the position itself (
>>>> https://github.com/WebKit/standards-positions/issues/369) - It’s
>>>> however slightly ridiculous to request a signal in this case, since this
>>>> Intent carries out WebKit’s proposal
>>>> <https://github.com/w3c/csswg-drafts/issues/10234#issuecomment-2137832089>
>>>> *exactly*.
>>>>
>>>>
>>>>
>>>> *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
>>>>
>>>> We should be able to reuse the existing inspector feature for nested
>>>> style rules.
>>>>
>>>>
>>>> Will this feature be supported on all six Blink platforms (Windows,
>>>> Mac, Linux, ChromeOS, Android, and Android WebView)?
>>>>
>>>> No
>>>>
>>>>
>>>> Is this feature fully tested by web-platform-tests
>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>> ?
>>>>
>>>> Not yet.
>>>>
>>>>
>>>> Flag name on chrome://flags
>>>>
>>>> None
>>>>
>>>>
>>>> Finch feature name
>>>>
>>>> None (yet). I’m not yet sure whether or not this change can be done
>>>> behind a flag.
>>>>
>>>>
>>>> Non-finch justification
>>>>
>>>> None
>>>>
>>>>
>>>> Requires code in //chrome?
>>>>
>>>> False
>>>>
>>>>
>>>> Estimated milestones
>>>>
>>>> M129
>>>>
>>>>
>>>> Anticipated spec changes
>>>>
>>>>
>>>>
>>>> None. The last blocking issue
>>>> <https://github.com/w3c/csswg-drafts/issues/10520> was closed this
>>>> week.
>>>>
>>>>
>>>> Link to entry on the Chrome Platform Status
>>>>
>>>> https://chromestatus.com/feature/5084403030818816?gate=5133271437148160
>>>>
>>>>
>>>> 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.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUr%3D6F_H29JYk8C79ZnU5LdPgSuF239LYnnYmgxfrk3sGA%40mail.gmail.com
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUr%3D6F_H29JYk8C79ZnU5LdPgSuF239LYnnYmgxfrk3sGA%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/CAKFBnUqTETTPT1whp_E35GeyjzxmsRrrWNg8HptPVD1_J74qgQ%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUqTETTPT1whp_E35GeyjzxmsRrrWNg8HptPVD1_J74qgQ%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/CAARdPYc4KOp51E9UEeM%3DLepctuWvi-SMPS6AKF0_-6kURSSGpQ%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYc4KOp51E9UEeM%3DLepctuWvi-SMPS6AKF0_-6kURSSGpQ%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/CAOmohS%2BCJx6o%3D8OCQPgqi10wqpg3GQ2-ziCO00jx0QPvpvC36w%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2BCJx6o%3D8OCQPgqi10wqpg3GQ2-ziCO00jx0QPvpvC36w%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/CAOMQ%2Bw8HdBMc1gskqjz9OomqCC%2Ba5dTBkG519rgRg_EP1LxQcg%40mail.gmail.com.

Reply via email to