Title: [163933] trunk/Source/WebCore
Revision
163933
Author
akl...@apple.com
Date
2014-02-11 19:51:06 -0800 (Tue, 11 Feb 2014)

Log Message

Don't allocate RenderNamedFlowThread's child list separately.
<https://webkit.org/b/128640>

Since we always create the flow-thread child list, there's no reason
to put it in a separate heap allocation. Also remove the typedef and
use auto instead.

Reviewed by Anders Carlsson.

* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::nextRendererForNode):
(WebCore::RenderNamedFlowThread::addFlowChild):
(WebCore::RenderNamedFlowThread::removeFlowChild):
* rendering/RenderNamedFlowThread.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (163932 => 163933)


--- trunk/Source/WebCore/ChangeLog	2014-02-12 03:45:34 UTC (rev 163932)
+++ trunk/Source/WebCore/ChangeLog	2014-02-12 03:51:06 UTC (rev 163933)
@@ -1,3 +1,21 @@
+2014-02-11  Andreas Kling  <akl...@apple.com>
+
+        Don't allocate RenderNamedFlowThread's child list separately.
+        <https://webkit.org/b/128640>
+
+        Since we always create the flow-thread child list, there's no reason
+        to put it in a separate heap allocation. Also remove the typedef and
+        use auto instead.
+
+        Reviewed by Anders Carlsson.
+
+        * rendering/RenderNamedFlowThread.cpp:
+        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
+        (WebCore::RenderNamedFlowThread::nextRendererForNode):
+        (WebCore::RenderNamedFlowThread::addFlowChild):
+        (WebCore::RenderNamedFlowThread::removeFlowChild):
+        * rendering/RenderNamedFlowThread.h:
+
 2014-02-11  Zalan Bujtas  <za...@apple.com>
 
         Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.

Modified: trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp (163932 => 163933)


--- trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp	2014-02-12 03:45:34 UTC (rev 163932)
+++ trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp	2014-02-12 03:51:06 UTC (rev 163933)
@@ -47,7 +47,6 @@
 
 RenderNamedFlowThread::RenderNamedFlowThread(Document& document, PassRef<RenderStyle> style, PassRef<WebKitNamedFlow> namedFlow)
     : RenderFlowThread(document, std::move(style))
-    , m_flowThreadChildList(adoptPtr(new FlowThreadChildList()))
     , m_overset(true)
     , m_hasRegionsWithStyling(false)
     , m_namedFlow(std::move(namedFlow))
@@ -100,8 +99,7 @@
 
 RenderObject* RenderNamedFlowThread::nextRendererForNode(Node* node) const
 {
-    const FlowThreadChildList& childList = *(m_flowThreadChildList.get());
-    for (auto& child : childList) {
+    for (auto& child : m_flowThreadChildList) {
         ASSERT(child->node());
         unsigned short position = node->compareDocumentPosition(child->node());
         if (position & Node::DOCUMENT_POSITION_FOLLOWING)
@@ -126,14 +124,14 @@
 
     RenderObject* beforeChild = nextRendererForNode(childNode);
     if (beforeChild)
-        m_flowThreadChildList->insertBefore(beforeChild, newChild);
+        m_flowThreadChildList.insertBefore(beforeChild, newChild);
     else
-        m_flowThreadChildList->add(newChild);
+        m_flowThreadChildList.add(newChild);
 }
 
 void RenderNamedFlowThread::removeFlowChild(RenderObject* child)
 {
-    m_flowThreadChildList->remove(child);
+    m_flowThreadChildList.remove(child);
 }
 
 bool RenderNamedFlowThread::dependsOn(RenderNamedFlowThread* otherRenderFlowThread) const

Modified: trunk/Source/WebCore/rendering/RenderNamedFlowThread.h (163932 => 163933)


--- trunk/Source/WebCore/rendering/RenderNamedFlowThread.h	2014-02-12 03:45:34 UTC (rev 163932)
+++ trunk/Source/WebCore/rendering/RenderNamedFlowThread.h	2014-02-12 03:51:06 UTC (rev 163933)
@@ -56,9 +56,9 @@
 
     void addFlowChild(RenderObject* newChild);
     void removeFlowChild(RenderObject*);
-    bool hasChildren() const { return !m_flowThreadChildList->isEmpty(); }
+    bool hasChildren() const { return !m_flowThreadChildList.isEmpty(); }
 #ifndef NDEBUG
-    bool hasChild(RenderObject* child) const { return m_flowThreadChildList->contains(child); }
+    bool hasChild(RenderObject* child) const { return m_flowThreadChildList.contains(child); }
 #endif
 
     void pushDependencies(RenderNamedFlowThreadList&);
@@ -129,8 +129,7 @@
     RenderNamedFlowThreadCountedSet m_layoutBeforeThreadsSet;
 
     // Holds the sorted children of a named flow. This is the only way we can get the ordering right.
-    typedef ListHashSet<RenderObject*> FlowThreadChildList;
-    OwnPtr<FlowThreadChildList> m_flowThreadChildList;
+    ListHashSet<RenderObject*> m_flowThreadChildList;
 
     NamedFlowContentElements m_contentElements;
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to