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.

Reply via email to