Change the behavior of clonable to be more opt-in #44369
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See the discussion here:
whatwg/html#10107 (comment)
The existing shipped behavior (i.e. before the
clonable
conceptwas introduced) was that any declarative shadow root within a
\<template>
would be automatically cloned, but no others.The semi-new behavior is the
clonable
bit concept, in which alldeclarative shadow roots have their
clonable
bit set to true, sothey automatically get cloned by
cloneNode()
. That's regardless ofwhether they are inside or outside a template.
The new consensus is that the "semi-new" clonable behavior is likely
web-incompatible, because clones will just start getting shadow roots
included. Plus it wasn't very developer-desirable. The new consensus
is therefore to add a
shadowrootclonable
attribute for declarative shadow dom that allows a shadow root to opt-in to this behavior, butthe default for all shadow roots will be
clonable=false
.This CL implements the new consensus behind the ShadowRootClonable
flag. If the flag is false, the "shipped" behavior will be emulated
via setting
clonable
in an equivalent way.See these three spec PRs:
whatwg/dom#1246
whatwg/html#10069
whatwg/html#10117
Bug: 1510466
Change-Id: Ice7c7579094eb08b882c4bb44f93045f23b8f222
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5260748
Reviewed-by: David Baron <[email protected]>
Auto-Submit: Mason Freed <[email protected]>
Commit-Queue: Mason Freed <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1258910}