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.