LGTM3

On Wednesday, May 7, 2025 at 4:51:41 PM UTC+2 Daniel Bratell wrote:

> LGTM2
>
> /Daniel
> On 2025-05-06 20:36, Mike Taylor wrote:
>
> Thanks for the updates.
>
> LGTM1
> On 5/6/25 4:41 AM, Anders Hartvoll Ruud wrote:
>
> See updates inline:
>
> On Wed, Feb 26, 2025 at 10:10 PM Anders Hartvoll Ruud <
> andr...@chromium.org> wrote:
>
>> Note that this was targeting the M136 release, so we would have had 
>> another month to tweak this feature, and even a couple of weeks after that 
>> to land finishing touches (or to disable the feature, worst case). 
>>
>> As for signals, concerns could have been raised at any time between 
>> December 18th and now. TAG could easily have reviewed earlier, taking the 
>> one relevant pending change into account, but chose to delay (despite time 
>> constraints being communicated). (Unfortunate that I didn't pay attention 
>> to the GitHub labels, though - thanks for fixing that pastithas@ & 
>> jyasskin@).
>>
>> That said, I do agree with the core concern here, so we'll *retarget 
>> this for the M139 release (branching **June 23rd)*. This intent can be 
>> considered "on hold" for now, and I'll be back in June with an update. 
>> Meanwhile, the Blink implementation (behind a flag) is ready for 
>> experimentation.
>>
>>
>> On Tue, Feb 25, 2025 at 10:06 PM Alan Stearns <famuli...@gmail.com> 
>> wrote:
>>
>>> This is a feature that is greatly desired by developers, and as such 
>>> runs increased risk that whatever gets shipped first gets heavily used and 
>>> then cannot be improved due to web compat. I think it’s premature to ship 
>>> without signals from other engines and without a TAG review. We should have 
>>> more time with this feature behind a flag.
>>>
>>> Another signal for implementing behind a feature flag for now: 
>>> https://blog.kizu.dev/intent-to-experiment-for-longer/
>>>
>>> On Tuesday, February 25, 2025 at 4:26:25 AM UTC-8 and...@chromium.org 
>>> wrote:
>>>
>>>> Contact emails 
>>>>
>>>> and...@chromium.org, se...@chromium.org
>>>>
>>>> Explainer 
>>>>
>>>> https://css.oddbird.net/sasslike/mixins-functions
>>>>
>>>> Note: the explainer includes a description of mixins as well. This 
>>>> intent covers custom functions (@function) only.
>>>>
>>>> Specification 
>>>>
>>>> https://drafts.csswg.org/css-mixins-1
>>>>
>>>
> The CSSWG resolved to publish a FPWD 
> <https://logs.csswg.org/irc.w3.org/css/2025-04-30/#e1696772> of this 
> specification.
>  
>
>>
>>>> Note: despite its shortname (css-mixins), the spec currently describes 
>>>> custom 
>>>> functions only.
>>>>
>>>> Summary 
>>>>
>>>> Custom Functions are similar to custom properties 
>>>> <https://drafts.csswg.org/css-variables>, but instead of returning a 
>>>> single fixed value, it returns a value based on other custom properties, 
>>>> parameters, and conditionals.
>>>>
>>>> Example: Custom light-dark function:
>>>>
>>>> @function --light-dark(--light, --dark) {
>>>>
>>>>    result: var(--light);
>>>>
>>>>    @media (prefers-color-scheme: dark) {
>>>>
>>>>      result: var(--dark);
>>>>
>>>>    }
>>>>
>>>> }
>>>>
>>>> div {
>>>>
>>>>   background-image: --light-dark(black-logo.png, white-logo.png);
>>>>
>>>> }
>>>>
>>>> Blink component 
>>>>
>>>> Blink>CSS 
>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECSS%22>
>>>>
>>>> TAG review 
>>>>
>>>> https://github.com/w3ctag/design-reviews/issues/1031
>>>>
>>>> TAG review status 
>>>>
>>>> Pending
>>>>
>>>
> TAG closed the design review 
> <https://github.com/w3ctag/design-reviews/issues/1031> with 
> Resolution:satisfied. (No issues.)
>  
>
>>
>>>> Risks 
>>>>
>>>> Interoperability and Compatibility 
>>>>
>>>> None
>>>>
>>>>
>>>> Gecko: No signal (
>>>> https://github.com/mozilla/standards-positions/issues/1148)
>>>>
>>>> WebKit: No signal (
>>>> https://github.com/WebKit/standards-positions/issues/437)
>>>>
>>>> Web developers: Positive
>>>>
>>>> (Dug up what I could find per goo.gle/developer-signals):
>>>>
>>>>
>>>>    - 
>>>>    
>>>>    
>>>>    
>>>> https://medium.com/css-magic/custom-css-functions-the-next-big-leap-in-styling-5acbd69f5526
>>>>    - 
>>>>    
>>>>    
>>>>    
>>>> https://johannesodland.github.io/2024/12/12/web-wish-12-custom-css-functions.html
>>>>    - 
>>>>    
>>>>    “sorely needed functionality for authors” 
>>>>    
>>>> <https://github.com/w3ctag/design-reviews/issues/1031#issuecomment-2637024845>
>>>>  
>>>>    - LeaVerou <https://github.com/LeaVerou>
>>>>    - 
>>>>    
>>>>    Appeared as a missing feature in State of CSS 2024 
>>>>    <https://2024.stateofcss.com/en-US/usage/#css_missing_features>.
>>>>    
>>>>
>>>> Other signals:
>>>>
>>>> WebView application risks 
>>>>
>>>> None
>>>>
>>>>
>>>> Debuggability 
>>>>
>>>> The Devtools team is working on “basic support” for @function: 
>>>> https://docs.google.com/document/d/17UCa0XDXAG9EBx18w1fXAA9SL3V9Lr4vTptaXYyE1CA/
>>>>
>>>> Unfortunately that doc requires @google.com to access, but “basic 
>>>> support” primarily means that callsites can be clicked, you’ll be taken to 
>>>> the relevant function, and you’ll be able to edit the contents of the 
>>>> function.
>>>>
>>>> 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-mixins
>>>>
>>>>
>>>>    - 
>>>>    
>>>>    at-function-cssom.tentative.html 
>>>>    
>>>> <https://wpt.fyi/results/css/css-mixins/at-function-cssom.tentative.html?label=experimental&label=master&aligned>
>>>>  is 
>>>>    marked tentative because the spec is currently missing a few obvious 
>>>> parts 
>>>>    from the API.
>>>>    - 
>>>>       
>>>>       The subtest "Indexed property getter" is failing due to a 
>>>>       Bindings bug. This is an existing issue (likely low impact) that's 
>>>>       unrelated to Custom Functions. crbug.com/333965945
>>>>       
>>>>
> This is now specified 
> <https://github.com/w3c/csswg-drafts/commit/61d88e2867c529d27360d1788b4d820414a30a6d>,
>  
> and the test is no longer tentative. 
>  
>
>>
>>>>    - 
>>>>    
>>>>    dashed-function-cycles.tentative.html 
>>>>    
>>>> <https://wpt.fyi/results/css/css-mixins/dashed-function-cycles.tentative.html?label=master&label=experimental&aligned>
>>>>  is 
>>>>    marked tentative because the spec has not yet caught up with the 
>>>> resolution 
>>>>    in https://github.com/w3c/csswg-drafts/issues/11500.
>>>>    
>>>>
> This is now also specified 
> <https://github.com/w3c/csswg-drafts/commit/943132e683aaeacecd87223048cffb2eac520e59>,
>  
> and the test is about 
> <https://chromium-review.googlesource.com/c/chromium/src/+/6512940> to 
> lose the "tentative" status. 
>
>
>>>> In both cases, I’ll make sure we get these things edited so we can 
>>>> remove the .tentative suffixes before shipping.
>>>>
>>>> I do not plan to fix crbug.com/333965945 before shipping, which means 
>>>> that a failure on "Indexed property getter" is to be expected. I will not 
>>>> ship with any other test failures; unexpected red boxes on wpt.fyi may be 
>>>> considered temporary, usually due to Canary not having picked up the 
>>>> latest 
>>>> changes yet.
>>>>
>>>> Flag name on about://flags 
>>>>
>>>> CSSFunctions
>>>>
>>>> Finch feature name 
>>>>
>>>> CSSFunctions
>>>>
>>>> Requires code in //chrome? 
>>>>
>>>> False
>>>>
>>>> Tracking bug 
>>>>
>>>> https://issues.chromium.org/issues/325504770
>>>>
>>>> Estimated milestones 
>>>>
>>>> Shipping on desktop
>>>>
>>>> 136
>>>>
>>>> Shipping on Android
>>>>
>>>> 136
>>>>
>>>> Shipping on WebView
>>>>
>>>> 136
>>>>
>>>>
>>>> Anticipated spec changes 
>>>>
>>>> At this point, I anticipate only one real spec change: disallowing 
>>>> argument values that begin with two dashes (‘--’). This is to make #11749 
>>>> (named arguments) <https://github.com/w3c/csswg-drafts/issues/11749> 
>>>> possible in the future without compat concerns.
>>>>
>>>> All other issues are not interesting in terms of compat risk.
>>>>
>>>> Full list (only the top one being interesting):
>>>>
>>>>
>>>>    - 
>>>>    
>>>>    #11749 [css-mixins-1] Named argument passing? 
>>>>    <https://github.com/w3c/csswg-drafts/issues/11749>
>>>>    - 
>>>>       
>>>>       This can be added later. However, we should reserve space for 
>>>>       this in the syntax immediately, to avoid compat issues in the 
>>>> future. Issue 
>>>>       398887938 <https://issues.chromium.org/issues/398887938> tracks 
>>>>       this.
>>>>       
>>>>
> This has now been reserved in Blink's implementation. This means that 
> arguments starting with "--foo:" (a dashed name, followed by a colon) are 
> invalid for now. The behavior is tested by 
> dashed-function-named-arg.tentative.html 
> <https://wpt.fyi/results/css/css-mixins/dashed-function-named-arg.tentative.html?label=experimental&label=master&aligned>
> .
>  
>
>>
>>>>    - 
>>>>    
>>>>    #10558 [css-mixins] <dashed-function> syntax seems invalid 
>>>>    <https://github.com/w3c/csswg-drafts/issues/10558>
>>>>    - 
>>>>       
>>>>       Editorial issue. The commenter seems satisfied now: “So this 
>>>>       issue may therefore be considered fixed” 
>>>>       
>>>> <https://github.com/w3c/csswg-drafts/issues/10558#issuecomment-2255746650>
>>>>       .
>>>>       - 
>>>>    
>>>>    #10006 [css-mixins] Allow mixins/functions to be called via custom 
>>>>    properties <https://github.com/w3c/csswg-drafts/issues/10006>
>>>>    - 
>>>>       
>>>>       We can choose to add this later; it does not affect the API 
>>>>       shipping now.
>>>>       - 
>>>>    
>>>>    #9992 Proposal: CSS Variable Groups 
>>>>    <https://github.com/w3c/csswg-drafts/issues/9992>
>>>>    - 
>>>>       
>>>>       Same as the previous issue.
>>>>       - 
>>>>    
>>>>    #9990 [css-values][css-variables][css-mixins] Generic fallback 
>>>>    syntax for IACVT values 
>>>>    <https://github.com/w3c/csswg-drafts/issues/9990>
>>>>    - 
>>>>       
>>>>       Same as the previous issue.
>>>>       - 
>>>>    
>>>>    #10222 [css-mixins] Proposal: @like rule for repurposing page 
>>>>    default styles <https://github.com/w3c/csswg-drafts/issues/10222>
>>>>    - 
>>>>       
>>>>       Unrelated to CSS Functions. (Marked css-mixins since it has 
>>>>       conceptual similarities with mixins.)
>>>>       - 
>>>>    
>>>>    #11500 [css-values] Short-circuit if() evaluation 
>>>>    <https://github.com/w3c/csswg-drafts/issues/11500>
>>>>    - 
>>>>       
>>>>       Resolved, just needs a spec edit.
>>>>       - 
>>>>    
>>>>    #11455 [css-values-5][css-mixins-1] Add an if-test for local 
>>>>    variables <https://github.com/w3c/csswg-drafts/issues/11455>
>>>>    - 
>>>>       
>>>>       Same as the previous issue.
>>>>       - 
>>>>    
>>>>    #11190 [css-functions-mixins] Handling superfluous arguments 
>>>>    <https://github.com/w3c/csswg-drafts/issues/11190>
>>>>    - 
>>>>       
>>>>       Same as the previous issue.
>>>>       - 
>>>>    
>>>>    #10562 [css-mixins] Should result be mandatory in @function? 
>>>>    <https://github.com/w3c/csswg-drafts/issues/10562>
>>>>    - 
>>>>       
>>>>       Same as the previous issue.
>>>>       - 
>>>>    
>>>>    #9350 Proposal: Custom CSS Functions & Mixins 
>>>>    <https://github.com/w3c/csswg-drafts/issues/9350>
>>>>    - 
>>>>       
>>>>       Same as the previous issue.
>>>>       
>>>>
>>>> Link to entry on the Chrome Platform Status 
>>>>
>>>> https://chromestatus.com/feature/5179721933651968?gate=5074532782309376
>>>>
>>>> Links to previous Intent discussions 
>>>>
>>>> Intent to Prototype: 
>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/b-BTxKD-Ldc/m/1pyobjq7AQAJ
>>>>
>>>> -- 
> 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/CAKFBnUptz%3DSRDVGW_%2Bs0w3CPFAZW9fGzUMVfrowjpYqCQ7JUAA%40mail.gmail.com
>  
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKFBnUptz%3DSRDVGW_%2Bs0w3CPFAZW9fGzUMVfrowjpYqCQ7JUAA%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/f647ff03-b549-4155-96c7-7373e418d114%40chromium.org
>  
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f647ff03-b549-4155-96c7-7373e418d114%40chromium.org?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/ab985875-4c58-4d20-80aa-d23343a49ed3n%40chromium.org.

Reply via email to