Thanks for the feedback, Alan.
Worth noting that the Mozilla and WebKit position requests have been
open for 1 month, which seems to me to be a reasonable amount of time
for them to register concerns. Same goes for TAG, but there are initial
positive signals at
https://github.com/w3ctag/design-reviews/issues/1045#issuecomment-2653010192.
On 2/25/25 4:05 PM, Alan Stearns 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 9:24:18 AM UTC-8 moo...@google.com wrote:
Contact emails
moo...@google.com, and...@chromium.org
Explainer
https://docs.google.com/document/d/1mbHBUR40jUBay7QZxgbjX7qixs5UZXkdL9tVwGvbmt0/edit?usp=sharing
Specification
https://drafts.csswg.org/css-values-5/#if-notation
Summary
The CSS if() function provides a concise way to express
conditional values. It accepts a series of condition-value
pairs, delimited by semicolons. The function evaluates
each condition sequentially and returns the value
associated with the first true condition. If none of the
conditions evaluate to true, the function returns an empty
token stream. This allows web authors to express complex
conditional logic in a simple and concise way. Example:
<style> div { color: var(--color); background-color:
if(style(--color: white): black; else: white); } .dark {
--color: black; } .light { --color: white; } </style> <div
class="dark">dark</div> <div class="light">light</div>
Blink component
Blink>CSS
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECSS%22>
Search tags
css <https://chromestatus.com/features#tags:css>,
css-values
<https://chromestatus.com/features#tags:css-values>, if
<https://chromestatus.com/features#tags:if>,
inline-conditionals
<https://chromestatus.com/features#tags:inline-conditionals>
TAG review
https://github.com/w3ctag/design-reviews/issues/1045
TAG review status
Pending
Risks
Interoperability and Compatibility
None
/Gecko/: No signal
(https://github.com/mozilla/standards-positions/issues/1167)
/WebKit/: No signal
(https://github.com/WebKit/standards-positions/issues/453)
/Web developers/: Positive
/Other signals/:
https://geoffgraham.me/unconditional-love-for-conditional-css/
https://lea.verou.me/blog/2024/css-conditionals/
https://geoffgraham.me/conditionals-on-custom-properties/
https://www.bram.us/2025/02/18/css-at-function-and-css-if/
https://x.com/LeaVerou/status/1801192208025940200
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
Ties into CSS Value Debugger work:
https://docs.google.com/document/d/1zyKdPREtKT8OU4WtlHV_Wxet3SvyUtAXrTdFLPmYmdU
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-values?label=master&q=if-
<https://wpt.fyi/results/css/css-values?label=master&q=if->
https://wpt.fyi/results/css/css-values/if-cycle.tentative.html
-the cycles behaviour has been resolved in
https://github.com/w3c/csswg-drafts/issues/11500, but the
spec does not address the resolution yet.
Flag name on about://flags
CSSInlineIfForStyleQueries, CSSInlineIfForMediaQueries,
CSSInlineIfForSupportsQueries
Finch feature name
CSSInlineIfForStyleQueries, CSSInlineIfForMediaQueries,
CSSInlineIfForSupportsQueries
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/346977961
Estimated milestones
Shipping on desktop 136
Shipping on Android 136
Shipping on WebView 136
Anticipated spec changes
Open questions about a feature may be a source of future
web compat or interop issues. Please list open issues
(e.g. links to known github issues in the project for the
feature specification) whose resolution may introduce web
compat/interop risk (e.g., changing to naming or structure
of the API in a non-backward-compatible way).
None
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6313805904347136?gate=5199452060778496
Links to previous Intent discussions
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAO7W_D9CCHOcXKNkbaVDFzUOWO7o9tcH1t7rS0xUaeKupYDTQ%40mail.gmail.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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/45a12b35-349b-473b-8d8c-e44d45faaf8bn%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/45a12b35-349b-473b-8d8c-e44d45faaf8bn%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/16718dbd-f022-4833-b475-3641cc6b8273%40chromium.org.