WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
Bug 61997
Cloning elements with shadow DOM does redundant element creation
https://bugs.webkit.org/show_bug.cgi?id=61997
Summary
Cloning elements with shadow DOM does redundant element creation
Dominic Cooney
Reported
2011-06-03 00:53:42 PDT
Cloning an element with shadow DOM typically does redundant element creation. For example, cloning an <input type="range" style="…"> creates one shadow slider element during the HTMLInputElement clone when it clones its type attribute (which creates a RangeInputType, which creates a shadow subtree for the slider.) Then Element::copyNonAttributeProperties destroys that shadow subtree and creates another shadow subtree that is a clone of the shadow subtree of the original node. We only need one of these two shadow trees.
Attachments
Add attachment
proposed patch, testcase, etc.
Kent Tamura
Comment 1
2011-06-03 03:32:28 PDT
So, reverting
http://trac.webkit.org/changeset/84528/trunk/Source/WebCore/dom/Element.cpp
will solve everything?
Kent Tamura
Comment 2
2011-06-03 03:33:08 PDT
I meant reverting
http://trac.webkit.org/changeset/84528
.
Dominic Cooney
Comment 3
2011-06-03 03:42:16 PDT
Reverting 84528 will ensure that there is no redundant element creation. However it does not ensure that cloned elements end up with valid shadow trees. (For example, <keygen> has no hook to clone its shadow.) I think we need a general solution where elements with shadow roots get notified when they are cloned, so that they can participate in the clone. For elements like <input type="…"> where setting the type attribute will create a shadow tree anyway, it can just assert that the shadow tree was created. For elements like keygen, it can create the clone shadow tree at that point.
Kent Tamura
Comment 4
2011-06-03 03:53:44 PDT
(In reply to
comment #3
) Keygen build the shadow tree in the constructor. Cloning a keygen needs nothing else, right?
Dominic Cooney
Comment 5
2011-06-03 04:03:19 PDT
Yes, you’re right, keygen would work if
r84528
was reverted. Maybe we should revert it…
Hajime Morrita
Comment 6
2011-06-06 21:36:36 PDT
Is this valid yet?
Dominic Cooney
Comment 7
2011-06-06 21:51:34 PDT
Since
r84528
was reverted, this bug is no longer applicable.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug