Discussed in API owners meeting today that we don't really understand the
compat risk here. Vlad makes a compelling argument that the risk in example
#2 may be non-trivial (especially when considering inheritance scenarios
beyond just custom properties). Also you'll need to request enterprise
review and they're going to want to know what the extent of the compat risk
is (do we need a policy opt-out and 3-release heads up in the release
notes?).

Is there some data you could reasonably collect (UMA and/or a cluster
telemetry run perhaps) to try to put an upper bound on the breaking change
risk? I think we all expect that the risk is low, but is it extremely low
and so something we should just launch with a finch killswitch ready to use
at the first sign of issue, or is it only very low meaning we need to go
further - especially for our enterprise change guidelines
<https://www.chromium.org/developers/enterprise-changes/>?

Thanks,
   Rick

On Wed, Dec 4, 2024 at 9:43 AM Daniel Bratell <bratel...@gmail.com> wrote:

> Beyond what Vlad and Dominic has mentioned, we're also missing formal
> signals from other vendors. They have requested that we not use generic
> opinions from staff as official signals. You can find how to get formals
> vendor signals by following the link "signals on their opinion of the API"
> in https://www.chromium.org/blink/launching-features/
>
> /Daniel
> On 2024-12-04 03:29, Vladimir Levin wrote:
>
>
>
> On Mon, Dec 2, 2024 at 10:47 PM Domenic Denicola <dome...@chromium.org>
> wrote:
>
>> Thank you, that explainer is very helpful!
>>
>> I notice that we're failing all the tests on
>> https://wpt.fyi/results/css/css-values?label=master&label=experimental&aligned&q=attr
>> , probably because this feature is not available behind the
>> experimental-web-platform-features flag.
>>
>> Can you confirm that we're passing all the tests with the
>> feature-specific flag enabled? Or are there interesting failures left that
>> are worth highlighting?
>>
>> Regarding compatibility, the scenarios you outlined
>> <https://github.com/tursunova/web-platform-explainer/blob/main/advanced-attr-explainer.md#backwards-compatibility>
>> as changing behavior seem rare enough that I hope they don't cause
>> problems. However, have you made any attempt to quantify them, e.g. via use
>> counter? (It's OK if not.)
>>
>
> The second example (
> https://github.com/tursunova/web-platform-explainer/blob/main/advanced-attr-explainer.md#example-2
> ) seems plausible in that it may be a valid way to organize information on
> a parent in data attributes and use that in children to display. I have
> found examples where a similar pattern happens on the element itself (var
> is set on an element via attr, and then used in element::before's content).
> I assume that this case will be fine in that the behavior change won't
> affect it right? I couldn't find any examples of parent to child var
> transfer (the breaking case), but that of course doesn't mean that it
> doesn't exist.
>
> Is the plan to roll this out via finch and monitor for breakages?
>
> Thanks,
> Vlad
>
>
>> Regarding potential open spec issues, I found 6
>> <https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+label%3Acss-values-5+attr+in%3Atitle>,
>> including two that the TAG highlighted in their review plus one tagged as
>> "Agenda+" implying it's still an active topic for discussion. If you think
>> we don't need to resolve those issues before shipping, can you explain why
>> in more detail?
>>
>>
>> On Tue, Dec 3, 2024 at 12:31 AM Munira Tursunova <moon...@google.com>
>> wrote:
>>
>>> Thank you, Domenic!
>>>
>>> I uploaded explainer here:
>>> https://github.com/tursunova/web-platform-explainer/blob/main/advanced-attr-explainer.md
>>> .
>>>
>>> On Wed, Nov 27, 2024 at 3:02 AM Domenic Denicola <dome...@chromium.org>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Tue, Nov 26, 2024 at 8:07 PM Chromestatus <
>>>> ad...@cr-status.appspotmail.com> wrote:
>>>>
>>>>> Contact emails moon...@google.com, chris...@chromium.org
>>>>>
>>>>> Explainer None
>>>>
>>>>
>>>> Some sort of explainer would be appreciated for this change, especially
>>>> given the security complexity.
>>>>
>>>>
>>>>>
>>>>>
>>>>> Specification https://drafts.csswg.org/css-values-5/#attr-notation
>>>>>
>>>>> Summary
>>>>>
>>>>> Implement the augmentation to attr() specified in CSS Level 5, which
>>>>> allows types besides <string> and usage in all CSS properties (besides
>>>>> pseudo-element 'content'). Example: <style> div { background-color:
>>>>> attr(data-foo type(<color>), red); } </style> <div
>>>>> data-foo="blue">test</div>
>>>>>
>>>>>
>>>>> Blink component Blink>CSS
>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>
>>>>>
>>>>> Search tags css <http:///features#tags:css>, css-values
>>>>> <http:///features#tags:css-values>, attr <http:///features#tags:attr>
>>>>>
>>>>> TAG review https://github.com/w3ctag/design-reviews/issues/513
>>>>>
>>>>> TAG review status Pending
>>>>>
>>>>> Risks
>>>>>
>>>>>
>>>>> Interoperability and Compatibility
>>>>>
>>>>> No browser has implemented this feature yet. Even though there's no
>>>>> negative signals from other browsers, there's still a minimal
>>>>> interoperability risk that we end up the only implementation. There are
>>>>> also a few known cases where this advanced version behaves differently 
>>>>> from
>>>>> the basic version in pseudo-element content property, which is a
>>>>> compatibility risk: - https://bit.ly/2XDhHtg - https://bit.ly/3grF3ur
>>>>>
>>>>>
>>>>> *Gecko*: No signal (
>>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=435426)
>>>>>
>>>>> *WebKit*: No signal (https://bugs.webkit.org/show_bug.cgi?id=26609)
>>>>>
>>>>> *Web developers*: No signals
>>>>>
>>>>> *Other signals*:
>>>>>
>>>>> Security
>>>>>
>>>>> attr() can be used by injected CSS for data exfiltration.
>>>>> https://github.com/w3c/csswg-drafts/issues/5092
>>>>>
>>>>
>>>> How have you resolved these security issues? (A writeup as part of an
>>>> explainer, perhaps with an alternatives considered section, would help
>>>> here.)
>>>>
>>>>
>>>>>
>>>>>
>>>>> 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
>>>>>
>>>>> No additional DevTools support is needed. attr() function is
>>>>> inspectable in DevTools same way as any other CSS substitution 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-values?label=master&label=experimental&aligned&q=attr
>>>>>
>>>>>
>>>>> Flag name on about://flags CSSAdvancedAttrFunction
>>>>>
>>>>> Finch feature name CSSAdvancedAttrFunction
>>>>>
>>>>> Requires code in //chrome? False
>>>>>
>>>>> Tracking bug
>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=246571
>>>>>
>>>>> Estimated milestones
>>>>> Shipping on desktop 133
>>>>> Shipping on Android 133
>>>>> Shipping on WebView 133
>>>>>
>>>>> 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/4680129030651904?gate=5932337540366336
>>>>>
>>>>> 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 visit
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6745abd8.2b0a0220.19a388.0324.GAE%40google.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6745abd8.2b0a0220.19a388.0324.GAE%40google.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/CAM0wra8-8CgACPS80AmMh2p8kMBW0LtCBrRDARbY%3Di_EWzdfpw%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8-8CgACPS80AmMh2p8kMBW0LtCBrRDARbY%3Di_EWzdfpw%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/CADsXd2NVy6Lvzwz1ifRBm4yfBwYsPO21V3vvAvvQsD2K8b2HaA%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2NVy6Lvzwz1ifRBm4yfBwYsPO21V3vvAvvQsD2K8b2HaA%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/7ada5371-84d5-40d8-8a6f-82fc15e9c49c%40gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7ada5371-84d5-40d8-8a6f-82fc15e9c49c%40gmail.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/CAFUtAY-mHvTcJjh8fvX_soYD1v8qo_%2BAG8t2D1X9rdDqdrAZUQ%40mail.gmail.com.

Reply via email to