The standards-track `shadowrootmode` attribute, which enables declarative Shadow DOM, was shipped in Chrome 111. The older, non-standard `shadowroot` attribute is now deprecated. During the deprecation period, both attributes are functional, however the `shadowroot` attribute does not enable the new streaming behavior, whereas `shadowrootmode` allows streaming of content. There is a straightforward migration path: replace `shadowroot` with `shadowrootmode`.
The current (2-10-23) usage of `shadowroot` is 0.01% [1], which is relatively high. The hope is that as developers learn about the now-standardized `shadowrootmode` attribute, and understand that it: 1. supports streaming (which is preferred), and 2. is standardized, and should appear soon in other browsers ...they will naturally migrate away from the `shadowroot` attribute, and usage will drop. We will continue to monitor the usage and will only attempt to remove the old attribute's functionality when usage is sufficiently small. With this deprecation, a warning will appear in the DevTools issues pane, which should help with developer education. [1] https://chromestatus.com/metrics/feature/timeline/popularity/3196
Developer outreach will be important, to educate developers about the new `shadowrootmode` attribute and behavior.
Not really applicable to this deprecation, but the security/XSS issues that applied to `shadowroot` also apply to `shadowrootmode`. See https://github.com/mfreed7/declarative-shadow-dom/blob/master/README.md#security-and-privacy-considerations. I do not think this deprecation affects that issue.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
N/A
DevTrial on desktop | 112 |
DevTrial on Android | 112 |
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).
--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDhn62d2CEDggcQW0qW4EUiTX9GmMkesQp-1dPd4uRXndA%40mail.gmail.com.
Do you have any predicted end milestone for the deprecation? What does current usage look like?
On Wednesday, February 15, 2023 at 10:14:48 PM UTC-8 yoav...@chromium.org wrote:+Jason Robbins - FYI, this didn't make it to the chromestatus tool.I have an idea about what went wrong."Intent to deprecate" is the subject line that is expected for the first stage in the deprecation process. It was detected as such, but that stage does not require any review. Based on this thread and the contents of the feature entry it looks like the final stage was what needed to be reviewed.
That uptick may suggest a single large entity that started using this, and may be easy to move to the new attribute.Have you tried turning the usecounter into a UKM to try and see where the usage is coming from?
The other alternative is that some developer documentation is pointing at the old attribute name. Can you verify that's not the case?
Otherwise, we typically prefer to have deprecation messages with clear milestones for their removal date. It seems to me that a year may be a lot for this. Would you be comfortable with setting the removal date for 6 milestones ahead? Maybe the UKM analysis can change our thinking here?
Hi Mason,
Are we planning to use deprecation reports (reporting API) for this
deprecation?
As a side note, I've realized we don't mention that at
https://www.chromium.org/blink/launching-features/#feature-deprecations
We only mention:
"At this point, you should also notify developers by adding a
deprecation console message, pointing to the updated status entry in the
console message."
Should we update that?
On Wed, Feb 22, 2023 at 8:35 AM Manuel Rego Casasnovas <re...@igalia.com> wrote:Are we planning to use deprecation reports (reporting API) for this
deprecation?
As a side note, I've realized we don't mention that at
https://www.chromium.org/blink/launching-features/#feature-deprecations
We only mention:
"At this point, you should also notify developers by adding a
deprecation console message, pointing to the updated status entry in the
console message."
Should we update that?We definitely should be more specific and point Chromium devs to use UseCounter::CountDeprecation in order to trigger Deprecation Reports.+Ari Chivukula - are there further hoops one needs to jump through nowadays to ensure the deprecation message is meaningful?
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDgNj_wUt72ppnFvmcdgNpfK1HDOXg39_Xd6zh-dArb%2Bzw%40mail.gmail.com.