Title: [139839] trunk/Source/WebCore
Revision
139839
Author
[email protected]
Date
2013-01-15 23:36:55 -0800 (Tue, 15 Jan 2013)

Log Message

Get rid of Node::createRareData
https://bugs.webkit.org/show_bug.cgi?id=106981

Reviewed by Benjamin Poulain.

Deleted Node::createRareData. Node::ensureRareData() instantiates NodeRareData
or ElementRareData according to the node type. Also encapsulate new by create
functions in NodeRareData and ElementRareData.

* dom/Element.cpp:
(WebCore):
* dom/Element.h:
(Element):
* dom/ElementRareData.h:
(WebCore::ElementRareData::create):
(ElementRareData):
(WebCore::ElementRareData::ElementRareData):
* dom/Node.cpp:
(WebCore::Node::ensureRareData):
(WebCore):
* dom/Node.h:
(WebCore::NodeRareDataBase::NodeRareDataBase):
* dom/NodeRareData.h:
(NodeRareData):
(WebCore::NodeRareData::create):
(WebCore::NodeRareData::NodeRareData):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (139838 => 139839)


--- trunk/Source/WebCore/ChangeLog	2013-01-16 06:52:40 UTC (rev 139838)
+++ trunk/Source/WebCore/ChangeLog	2013-01-16 07:36:55 UTC (rev 139839)
@@ -1,3 +1,32 @@
+2013-01-16  Ryosuke Niwa  <[email protected]>
+
+        Get rid of Node::createRareData
+        https://bugs.webkit.org/show_bug.cgi?id=106981
+
+        Reviewed by Benjamin Poulain.
+
+        Deleted Node::createRareData. Node::ensureRareData() instantiates NodeRareData
+        or ElementRareData according to the node type. Also encapsulate new by create
+        functions in NodeRareData and ElementRareData.
+
+        * dom/Element.cpp:
+        (WebCore):
+        * dom/Element.h:
+        (Element):
+        * dom/ElementRareData.h:
+        (WebCore::ElementRareData::create):
+        (ElementRareData):
+        (WebCore::ElementRareData::ElementRareData):
+        * dom/Node.cpp:
+        (WebCore::Node::ensureRareData):
+        (WebCore):
+        * dom/Node.h:
+        (WebCore::NodeRareDataBase::NodeRareDataBase):
+        * dom/NodeRareData.h:
+        (NodeRareData):
+        (WebCore::NodeRareData::create):
+        (WebCore::NodeRareData::NodeRareData):
+
 2013-01-15  Ryosuke Niwa  <[email protected]>
 
         GTK+ and Qt build fix after r139833.

Modified: trunk/Source/WebCore/dom/Element.cpp (139838 => 139839)


--- trunk/Source/WebCore/dom/Element.cpp	2013-01-16 06:52:40 UTC (rev 139838)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-01-16 07:36:55 UTC (rev 139839)
@@ -223,11 +223,6 @@
     return static_cast<ElementRareData*>(ensureRareData());
 }
 
-PassOwnPtr<NodeRareData> Element::createRareData()
-{
-    return adoptPtr(new ElementRareData());
-}
-
 void Element::clearTabIndexExplicitlyIfNeeded()
 {
     if (hasRareData())

Modified: trunk/Source/WebCore/dom/Element.h (139838 => 139839)


--- trunk/Source/WebCore/dom/Element.h	2013-01-16 06:52:40 UTC (rev 139838)
+++ trunk/Source/WebCore/dom/Element.h	2013-01-16 07:36:55 UTC (rev 139839)
@@ -580,7 +580,6 @@
     virtual PassRefPtr<Element> cloneElementWithoutAttributesAndChildren();
 
     QualifiedName m_tagName;
-    virtual PassOwnPtr<NodeRareData> createRareData();
     bool rareDataStyleAffectedByEmpty() const;
     bool rareDataChildrenAffectedByHover() const;
     bool rareDataChildrenAffectedByActive() const;

Modified: trunk/Source/WebCore/dom/ElementRareData.h (139838 => 139839)


--- trunk/Source/WebCore/dom/ElementRareData.h	2013-01-16 06:52:40 UTC (rev 139838)
+++ trunk/Source/WebCore/dom/ElementRareData.h	2013-01-16 07:36:55 UTC (rev 139839)
@@ -35,7 +35,8 @@
 
 class ElementRareData : public NodeRareData {
 public:
-    ElementRareData();
+    static PassOwnPtr<ElementRareData> create(RenderObject* renderer) { return adoptPtr(new ElementRareData(renderer)); }
+
     ~ElementRareData();
 
     void setPseudoElement(PseudoId, PassRefPtr<PseudoElement>);
@@ -172,6 +173,7 @@
     RefPtr<PseudoElement> m_generatedBefore;
     RefPtr<PseudoElement> m_generatedAfter;
 
+    ElementRareData(RenderObject*);
     void releasePseudoElement(PseudoElement*);
 };
 
@@ -180,8 +182,9 @@
     return IntSize(LayoutUnit::max(), LayoutUnit::max());
 }
 
-inline ElementRareData::ElementRareData()
-    : m_tabIndex(0)
+inline ElementRareData::ElementRareData(RenderObject* renderer)
+    : NodeRareData(renderer)
+    , m_tabIndex(0)
     , m_childIndex(0)
     , m_tabIndexWasSetExplicitly(false)
     , m_needsFocusAppearanceUpdateSoonAfterAttach(false)

Modified: trunk/Source/WebCore/dom/Node.cpp (139838 => 139839)


--- trunk/Source/WebCore/dom/Node.cpp	2013-01-16 06:52:40 UTC (rev 139838)
+++ trunk/Source/WebCore/dom/Node.cpp	2013-01-16 07:36:55 UTC (rev 139839)
@@ -452,19 +452,18 @@
     if (hasRareData())
         return rareData();
 
-    NodeRareData* data = ""
+    NodeRareData* data;
+    if (isElementNode())
+        data = ""
+    else
+        data = ""
     ASSERT(data);
-    data->setRenderer(m_data.m_renderer);
+
     m_data.m_rareData = data;
     setFlag(HasRareDataFlag);
     return data;
 }
 
-PassOwnPtr<NodeRareData> Node::createRareData()
-{
-    return adoptPtr(new NodeRareData());
-}
-
 void Node::clearRareData()
 {
     ASSERT(hasRareData());

Modified: trunk/Source/WebCore/dom/Node.h (139838 => 139839)


--- trunk/Source/WebCore/dom/Node.h	2013-01-16 06:52:40 UTC (rev 139838)
+++ trunk/Source/WebCore/dom/Node.h	2013-01-16 07:36:55 UTC (rev 139839)
@@ -116,7 +116,9 @@
     void setRenderer(RenderObject* renderer) { m_renderer = renderer; }
 
 protected:
-    NodeRareDataBase() { }
+    NodeRareDataBase(RenderObject* renderer)
+        : m_renderer(renderer)
+    { }
 
 private:
     RenderObject* m_renderer;
@@ -785,8 +787,6 @@
     virtual void refEventTarget();
     virtual void derefEventTarget();
 
-    virtual PassOwnPtr<NodeRareData> createRareData();
-
     virtual RenderStyle* nonRendererStyle() const { return 0; }
 
     virtual const AtomicString& virtualPrefix() const;

Modified: trunk/Source/WebCore/dom/NodeRareData.h (139838 => 139839)


--- trunk/Source/WebCore/dom/NodeRareData.h	2013-01-16 06:52:40 UTC (rev 139838)
+++ trunk/Source/WebCore/dom/NodeRareData.h	2013-01-16 07:36:55 UTC (rev 139839)
@@ -276,9 +276,8 @@
 
 class NodeRareData : public NodeRareDataBase {
     WTF_MAKE_NONCOPYABLE(NodeRareData); WTF_MAKE_FAST_ALLOCATED;
-public:    
-    NodeRareData()
-    { }
+public:
+    static PassOwnPtr<NodeRareData> create(RenderObject* renderer) { return adoptPtr(new NodeRareData(renderer)); }
 
     void clearNodeLists() { m_nodeLists.clear(); }
     NodeListsNodeData* nodeLists() const { return m_nodeLists.get(); }
@@ -309,6 +308,11 @@
     // This member function is intentionially not virtual to avoid adding a vtable pointer.
     void reportMemoryUsage(MemoryObjectInfo*) const;
 
+protected:
+    NodeRareData(RenderObject* renderer)
+        : NodeRareDataBase(renderer)
+    { }
+
 private:
     OwnPtr<NodeListsNodeData> m_nodeLists;
     OwnPtr<NodeMutationObserverData> m_mutationObserverData;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to