RESOLVED FIXED Bug 79768
Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aware.
https://bugs.webkit.org/show_bug.cgi?id=79768
Summary Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aw...
Roland Steiner
Reported 2012-02-28 02:06:16 PST
ShadowTree::recalcShadowTreeStyle only updates the youngest tree - shouldn't it update all?
Attachments
Patch (12.81 KB, patch)
2012-02-29 00:59 PST, Shinya Kawanaka
no flags
Patch (12.82 KB, patch)
2012-02-29 01:05 PST, Shinya Kawanaka
no flags
Wrong patch (11.12 KB, patch)
2012-02-29 03:32 PST, Shinya Kawanaka
no flags
Patch for landing (12.78 KB, patch)
2012-02-29 17:27 PST, Shinya Kawanaka
no flags
Patch for landing (12.78 KB, patch)
2012-02-29 17:33 PST, Shinya Kawanaka
no flags
Shinya Kawanaka
Comment 1 2012-02-28 04:48:35 PST
Thanks for the report! I'll check it later.
Hajime Morrita
Comment 2 2012-02-28 22:45:07 PST
Searching youngestShadowRoot(), it turns out some other functions like following is also need to be multiple-shadow-aware. - bool ShadowTree::needsStyleRecalc() - bool ShadowTree::childNeedsStyleRecalc() - bool ShadowTree::needsReattachHostChildrenAndShadow() - void ShadowTree::hostChildrenChanged() - void TreeScopeAdopter::moveTreeToNewScope(Node* root) - void TreeScopeAdopter::moveTreeToNewDocument(Node* root, Document* oldDocument, Document* newDocument) const
Shinya Kawanaka
Comment 3 2012-02-28 23:59:43 PST
(In reply to comment #2) > Searching youngestShadowRoot(), it turns out some other functions > like following is also need to be multiple-shadow-aware. > > - bool ShadowTree::needsStyleRecalc() > - bool ShadowTree::childNeedsStyleRecalc() > - bool ShadowTree::needsReattachHostChildrenAndShadow() > - void ShadowTree::hostChildrenChanged() > - void TreeScopeAdopter::moveTreeToNewScope(Node* root) > - void TreeScopeAdopter::moveTreeToNewDocument(Node* root, Document* oldDocument, Document* newDocument) const I think we should consider multiple shadow subtrees for needsStyleRecalc() and childNeedsStyleRecalc(), but not for needsReattachHostChildrenAndShadow() and needsReattachHostChildrenAndShadow(), because the latter methods checks the existence of InsertionPoint of the youngest shadow roots. If there is no insertion point in the youngest shadow root, older shadow subtrees or light children won't be rendered al all. If this assumption is wrong, please let me know...
Shinya Kawanaka
Comment 4 2012-02-29 00:59:58 PST
Shinya Kawanaka
Comment 5 2012-02-29 01:05:14 PST
WebKit Review Bot
Comment 6 2012-02-29 01:08:13 PST
Attachment 129408 [details] did not pass style-queue: Failed to run "['Tools/Scripts/update-webkit']" exit_code: 9 Updating OpenSource Index mismatch: 45f1ddc97c26c8f168daebf1d8d25e32afde0c7a != d0c2d29a78e61f43d073201c516920e3103f993d rereading 21dd0231e92234ee59517801b9836dc9d53fe30a M Source/WebCore/dom/ShadowTree.h M Source/WebCore/dom/Element.cpp M Source/WebCore/dom/ShadowTree.cpp M Source/WebCore/dom/ContainerNode.cpp M Source/WebCore/dom/ContainerNode.h M Source/WebCore/ChangeLog 109203 = f269c80d877021b19c2311e4e7c7a1dc9d95a3b8 already exists! Why are we refetching it? at /usr/lib/git-core/git-svn line 5210 Died at Tools/Scripts/update-webkit line 164. If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Review Bot
Comment 7 2012-02-29 03:02:54 PST
Comment on attachment 129408 [details] Patch Rejecting attachment 129408 [details] from commit-queue. shinyak@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py. - If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags. - If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your committer rights.
Shinya Kawanaka
Comment 8 2012-02-29 03:32:59 PST
Created attachment 129435 [details] Wrong patch
Shinya Kawanaka
Comment 9 2012-02-29 17:20:30 PST
(In reply to comment #8) > Created an attachment (id=129435) [details] > Patch Sorry, I mistook the place to upload...
Shinya Kawanaka
Comment 10 2012-02-29 17:27:55 PST
Created attachment 129561 [details] Patch for landing
Shinya Kawanaka
Comment 11 2012-02-29 17:33:42 PST
Created attachment 129563 [details] Patch for landing
Shinya Kawanaka
Comment 12 2012-02-29 17:55:25 PST
Note You need to log in before you can comment on or make changes to this bug.