Changeset 139839 in webkit


Ignore:
Timestamp:
Jan 15, 2013 11:36:55 PM (11 years ago)
Author:
rniwa@webkit.org
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):

Location:
trunk/Source/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r139838 r139839  
     12013-01-16  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Get rid of Node::createRareData
     4        https://bugs.webkit.org/show_bug.cgi?id=106981
     5
     6        Reviewed by Benjamin Poulain.
     7
     8        Deleted Node::createRareData. Node::ensureRareData() instantiates NodeRareData
     9        or ElementRareData according to the node type. Also encapsulate new by create
     10        functions in NodeRareData and ElementRareData.
     11
     12        * dom/Element.cpp:
     13        (WebCore):
     14        * dom/Element.h:
     15        (Element):
     16        * dom/ElementRareData.h:
     17        (WebCore::ElementRareData::create):
     18        (ElementRareData):
     19        (WebCore::ElementRareData::ElementRareData):
     20        * dom/Node.cpp:
     21        (WebCore::Node::ensureRareData):
     22        (WebCore):
     23        * dom/Node.h:
     24        (WebCore::NodeRareDataBase::NodeRareDataBase):
     25        * dom/NodeRareData.h:
     26        (NodeRareData):
     27        (WebCore::NodeRareData::create):
     28        (WebCore::NodeRareData::NodeRareData):
     29
    1302013-01-15  Ryosuke Niwa  <rniwa@webkit.org>
    231
  • trunk/Source/WebCore/dom/Element.cpp

    r139681 r139839  
    224224}
    225225
    226 PassOwnPtr<NodeRareData> Element::createRareData()
    227 {
    228     return adoptPtr(new ElementRareData());
    229 }
    230 
    231226void Element::clearTabIndexExplicitlyIfNeeded()
    232227{
  • trunk/Source/WebCore/dom/Element.h

    r139681 r139839  
    581581
    582582    QualifiedName m_tagName;
    583     virtual PassOwnPtr<NodeRareData> createRareData();
    584583    bool rareDataStyleAffectedByEmpty() const;
    585584    bool rareDataChildrenAffectedByHover() const;
  • trunk/Source/WebCore/dom/ElementRareData.h

    r139833 r139839  
    3636class ElementRareData : public NodeRareData {
    3737public:
    38     ElementRareData();
     38    static PassOwnPtr<ElementRareData> create(RenderObject* renderer) { return adoptPtr(new ElementRareData(renderer)); }
     39
    3940    ~ElementRareData();
    4041
     
    173174    RefPtr<PseudoElement> m_generatedAfter;
    174175
     176    ElementRareData(RenderObject*);
    175177    void releasePseudoElement(PseudoElement*);
    176178};
     
    181183}
    182184
    183 inline ElementRareData::ElementRareData()
    184     : m_tabIndex(0)
     185inline ElementRareData::ElementRareData(RenderObject* renderer)
     186    : NodeRareData(renderer)
     187    , m_tabIndex(0)
    185188    , m_childIndex(0)
    186189    , m_tabIndexWasSetExplicitly(false)
  • trunk/Source/WebCore/dom/Node.cpp

    r139838 r139839  
    453453        return rareData();
    454454
    455     NodeRareData* data = createRareData().leakPtr();
     455    NodeRareData* data;
     456    if (isElementNode())
     457        data = ElementRareData::create(m_data.m_renderer).leakPtr();
     458    else
     459        data = NodeRareData::create(m_data.m_renderer).leakPtr();
    456460    ASSERT(data);
    457     data->setRenderer(m_data.m_renderer);
     461
    458462    m_data.m_rareData = data;
    459463    setFlag(HasRareDataFlag);
    460464    return data;
    461 }
    462 
    463 PassOwnPtr<NodeRareData> Node::createRareData()
    464 {
    465     return adoptPtr(new NodeRareData());
    466465}
    467466
  • trunk/Source/WebCore/dom/Node.h

    r139833 r139839  
    117117
    118118protected:
    119     NodeRareDataBase() { }
     119    NodeRareDataBase(RenderObject* renderer)
     120        : m_renderer(renderer)
     121    { }
    120122
    121123private:
     
    786788    virtual void derefEventTarget();
    787789
    788     virtual PassOwnPtr<NodeRareData> createRareData();
    789 
    790790    virtual RenderStyle* nonRendererStyle() const { return 0; }
    791791
  • trunk/Source/WebCore/dom/NodeRareData.h

    r139833 r139839  
    277277class NodeRareData : public NodeRareDataBase {
    278278    WTF_MAKE_NONCOPYABLE(NodeRareData); WTF_MAKE_FAST_ALLOCATED;
    279 public:   
    280     NodeRareData()
    281     { }
     279public:
     280    static PassOwnPtr<NodeRareData> create(RenderObject* renderer) { return adoptPtr(new NodeRareData(renderer)); }
    282281
    283282    void clearNodeLists() { m_nodeLists.clear(); }
     
    310309    void reportMemoryUsage(MemoryObjectInfo*) const;
    311310
     311protected:
     312    NodeRareData(RenderObject* renderer)
     313        : NodeRareDataBase(renderer)
     314    { }
     315
    312316private:
    313317    OwnPtr<NodeListsNodeData> m_nodeLists;
Note: See TracChangeset for help on using the changeset viewer.