Ignore:
Timestamp:
Sep 22, 2013, 2:23:48 PM (12 years ago)
Author:
[email protected]
Message:

CTTE: RenderNamedFlowThread and FlowThreadController should operate on Elements, not Nodes
https://bugs.webkit.org/show_bug.cgi?id=121768

Reviewed by Andreas Kling.

  • dom/Element.cpp:

(WebCore::Element::unregisterNamedFlowContentElement):
(WebCore::Element::shouldMoveToFlowThread):
(WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):

  • dom/Element.h:

Update to new names and to pass this as a reference to the FlowThreadController.

  • dom/Node.cpp:
  • dom/Node.h:

Move isRegisteredWithNamedFlow() to Element.

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
(WebCore::WebKitNamedFlow::getContent):
Update for contentNodes() -> contentElements() name change. Modernize the code a bit
as well.

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::registerNamedFlowContentElement):
(WebCore::FlowThreadController::unregisterNamedFlowContentElement):
(WebCore::FlowThreadController::isContentElementRegisteredWithAnyNamedFlow):

  • rendering/FlowThreadController.h:

Change the Node* -> RenderNamedFlowThread* map to a Element* -> RenderNamedFlowThread*. Update
functions taking Node*s to take Element&s.

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::clearContentElements):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::hasContentElement):
(WebCore::isContainedInElements):
(WebCore::nextNodeInsideContentElement):
(WebCore::RenderNamedFlowThread::getRanges):

  • rendering/RenderNamedFlowThread.h:

Change the NamedFlowContent set to store Elements rather than Nodes. Like with FlowThreadController,
update registration functions to take Element&s instead of Node*s, removing asserts.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::setRegionObjectsRegionStyle):
Update for new names.

  • style/StyleResolveTree.cpp:

(WebCore::Style::moveToFlowThreadIfNeeded):
Pass the Element and RenderNamedFlowThread as references.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/rendering/FlowThreadController.h

    r155833 r156250  
    6666    void styleDidChange();
    6767
    68     void registerNamedFlowContentNode(Node*, RenderNamedFlowThread*);
    69     void unregisterNamedFlowContentNode(Node*);
    70     bool isContentNodeRegisteredWithAnyNamedFlow(const Node*) const;
     68    void registerNamedFlowContentElement(Element&, RenderNamedFlowThread&);
     69    void unregisterNamedFlowContentElement(Element&);
     70    bool isContentElementRegisteredWithAnyNamedFlow(const Element&) const;
    7171
    7272    bool hasFlowThreadsWithAutoLogicalHeightRegions() const { return m_flowThreadsWithAutoLogicalHeightRegions; }
     
    104104    unsigned m_flowThreadsWithAutoLogicalHeightRegions;
    105105    OwnPtr<RenderNamedFlowThreadList> m_renderNamedFlowThreadList;
    106     // maps a content node to its render flow thread.
    107     HashMap<const Node*, RenderNamedFlowThread*> m_mapNamedFlowContentNodes;
     106    HashMap<const Element*, RenderNamedFlowThread*> m_mapNamedFlowContentElement;
    108107};
    109108
Note: See TracChangeset for help on using the changeset viewer.