Primary eng (and PM) emails
Link to "Intent to Deprecate" thread
Summary
Remove the support to call createShadowRoot for an element if it has a user agent shadow root, such as <input> element.
This "Intent to Remove: Multiple Shadow Roots with a user agent shadow root" is different from what I sent last month,"Intent to Remove: Multiple Shadow Roots" [1].
The last month's "Intent to Remove" is to remove "Multiple Shadow Roots" in general.
e.g.
A)
var div = document.createElement("div");
var sr1 = div.createShadowRoot();
var sr2 = div.createShadowRoot(); // We no longer supports.
This time, I'm going to remove the support for only the following case:
B)
var input = document.createElement("input"); // <input> has a user agent shadow root.
var sr1 = input.createShadowRoot(); // We no longer supports.
I'm going to remove only the case B. The case A continues to work.
We have a separate UseCounter for each: ElementCreateShadowRootMultiple and ElementCreateShadowRootMultipleWithUserAgentShadowRoot. The former is inclusive of the latter.
Motivation
This feature has been a cause of code complexity. It would be great to remove the support partially ahead of removing "Multiple Shadow Roots" entirely, in terms of code health.
Compatibility Risk
Low. Blink has supported this feature since M35.
No other browser supports this feature.
Usage information from UseCounter
OWP launch tracking bug
Entry on the feature dashboard