2008-04-01 Darin Adler <darin@apple.com>
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 1 Apr 2008 15:44:24 +0000 (15:44 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 1 Apr 2008 15:44:24 +0000 (15:44 +0000)
        Reviewed by Sam.

        - speed up hasChildNodes, which does not need to be virtual

        * dom/ContainerNode.cpp: Removed hasChildNodes.
        * dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
        * dom/Node.cpp: Removed hasChildNodes.
        * dom/Node.h: Added non-vritual inline hasChildNodes.

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

WebCore/ChangeLog
WebCore/dom/ContainerNode.cpp
WebCore/dom/ContainerNode.h
WebCore/dom/Node.cpp
WebCore/dom/Node.h
WebCore/page/AXObjectCache.h
WebCore/page/AccessibilityObject.h

index 97ed63c..b3c7f1f 100644 (file)
@@ -1,3 +1,14 @@
+2008-04-01  Darin Adler  <darin@apple.com>
+
+        Reviewed by Sam.
+
+        - speed up hasChildNodes, which does not need to be virtual
+
+        * dom/ContainerNode.cpp: Removed hasChildNodes.
+        * dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
+        * dom/Node.cpp: Removed hasChildNodes.
+        * dom/Node.h: Added non-vritual inline hasChildNodes.
+
 2008-04-01  Simon Hausmann  <hausmann@webkit.org>
 
         Fix the non-mac build.
index 49b7abf..a2d96e2 100644 (file)
@@ -574,11 +574,6 @@ bool ContainerNode::appendChild(PassRefPtr<Node> newChild, ExceptionCode& ec)
     return true;
 }
 
-bool ContainerNode::hasChildNodes() const
-{
-    return m_firstChild;
-}
-
 ContainerNode* ContainerNode::addChild(PassRefPtr<Node> newChild)
 {
     // This function is only used during parsing.
index 9bc4634..28563f2 100644 (file)
@@ -44,7 +44,7 @@ public:
     virtual bool appendChild(PassRefPtr<Node> newChild, ExceptionCode&);
 
     virtual ContainerNode* addChild(PassRefPtr<Node>);
-    virtual bool hasChildNodes() const;
+    bool hasChildNodes() const { return m_firstChild; }
     virtual void attach();
     virtual void detach();
     virtual void willRemove();
index d891167..10c604b 100644 (file)
@@ -277,11 +277,6 @@ void Node::remove(ExceptionCode& ec)
     deref();
 }
 
-bool Node::hasChildNodes() const
-{
-    return false;
-}
-
 void Node::normalize()
 {
     // Go through the subtree beneath us, normalizing all nodes. This means that
index 1fce8c4..010f3e2 100644 (file)
@@ -119,7 +119,7 @@ public:
     virtual bool appendChild(PassRefPtr<Node> newChild, ExceptionCode&);
 
     virtual void remove(ExceptionCode&);
-    virtual bool hasChildNodes() const;
+    bool hasChildNodes() const { return firstChild(); }
     virtual PassRefPtr<Node> cloneNode(bool deep) = 0;
     virtual const AtomicString& localName() const;
     virtual const AtomicString& namespaceURI() const;
index d5dc615..65930e9 100644 (file)
 #include <wtf/HashMap.h>
 #include <wtf/HashSet.h>
 #include <wtf/RefPtr.h>
-#if PLATFORM(MAC)
-#include <wtf/RetainPtr.h>
-#endif
 
 #ifdef __OBJC__
-    @class AccessibilityObjectWrapper;
-    @class WebCoreTextMarker;
+@class WebCoreTextMarker;
 #else
-    class AccessibilityObjectWrapper;
-    class WebCoreTextMarker;
+class WebCoreTextMarker;
 #endif
 
 namespace WebCore {
@@ -64,14 +59,17 @@ namespace WebCore {
 
         void removeAXID(AccessibilityObject*);
 
+#if PLATFORM(MAC)
+        // FIXME: Move this to AccessibilityObjectWrapper.
         WebCoreTextMarker* textMarkerForVisiblePosition(const VisiblePosition&);
         VisiblePosition visiblePositionForTextMarker(WebCoreTextMarker*);
+#endif
         
         void childrenChanged(RenderObject*);
         void postNotification(RenderObject*, const String& message);
         void postNotificationToElement(RenderObject*, const String& message);
         void handleFocusedUIElementChanged();
-        
+
 #if PLATFORM(MAC)
         static void enableAccessibility() { gAccessibilityEnabled = true; }
         static bool accessibilityEnabled() { return gAccessibilityEnabled; }
index 2fcf7f5..45e977e 100644 (file)
@@ -32,6 +32,7 @@
 #include "VisiblePosition.h"
 #include <wtf/RefPtr.h>
 #include <wtf/Vector.h>
+
 #if PLATFORM(MAC)
 #include <wtf/RetainPtr.h>
 #endif
@@ -341,7 +342,6 @@ public:
     void AXAttributeStringSetHeadingLevel(NSMutableAttributedString*, RenderObject*, NSRange);
     void AXAttributedStringAppendText(NSMutableAttributedString*, Node*, int offset, const UChar* chars, int length);
     AccessibilityObject* AXLinkElementForNode(Node*);
-
 #endif
     
 private:
@@ -349,6 +349,7 @@ private:
     RefPtr<HTMLAreaElement> m_areaElement;
     Vector<RefPtr<AccessibilityObject> >m_children;
     unsigned m_id; 
+
 #if PLATFORM(MAC)
     RetainPtr<AccessibilityObjectWrapper> m_wrapper;
 #endif