2010-08-17 Dimitri Glazkov <dglazkov@chromium.org>
authordglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 17 Aug 2010 16:15:17 +0000 (16:15 +0000)
committerdglazkov@chromium.org <dglazkov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 17 Aug 2010 16:15:17 +0000 (16:15 +0000)
        Reviewed by Eric Seidel.

        Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
        https://bugs.webkit.org/show_bug.cgi?id=43749

        Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
        so the check for shadow tree existence isn't needed.

        Gives a small, but consisten win in Dromaeo's DOM Modification test.

        * dom/Node.cpp: Removed canLazyAttach declaration.
        * dom/Node.h:
        (WebCore::Node::canLazyAttach): Changed to always return true.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@65508 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/dom/Node.cpp
WebCore/dom/Node.h

index b7ec1a3..4cdff45 100644 (file)
@@ -1,3 +1,19 @@
+2010-08-17  Dimitri Glazkov  <dglazkov@chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        Eliminate extra traversal of the tree when determining ability to lazy-attach a Node.
+        https://bugs.webkit.org/show_bug.cgi?id=43749
+
+        Neither SVG nor inputs/counters shadow DOM are traveling down this path (they home-bake their attachment),
+        so the check for shadow tree existence isn't needed.
+
+        Gives a small, but consisten win in Dromaeo's DOM Modification test.
+
+        * dom/Node.cpp: Removed canLazyAttach declaration.
+        * dom/Node.h:
+        (WebCore::Node::canLazyAttach): Changed to always return true.
+
 2010-08-17  Pavel Feldman  <pfeldman@chromium.org>
 
         Reviewed by Yury Semikhatsky.
index e0f04de..0bc8d9e 100644 (file)
@@ -779,11 +779,6 @@ void Node::lazyAttach()
     }
 }
 
-bool Node::canLazyAttach()
-{
-    return shadowAncestorNode() == this;
-}
-    
 void Node::setFocus(bool b)
 { 
     if (b || hasRareData())
index 3f3184d..1e858ba 100644 (file)
@@ -317,7 +317,7 @@ public:
     void clearIsLink() { clearFlag(IsLinkFlag); }
 
     void lazyAttach();
-    virtual bool canLazyAttach();
+    virtual bool canLazyAttach() { return shadowAncestorNode() == this; }
 
     virtual void setFocus(bool b = true);
     virtual void setActive(bool f = true, bool /*pause*/ = false) { setFlag(f, IsActiveFlag); }