Title: [135605] trunk/Source/WebCore
Revision
135605
Author
[email protected]
Date
2012-11-23 06:55:46 -0800 (Fri, 23 Nov 2012)

Log Message

RenderLayer minor clean-up: replace raw pointers with OwnPtrs.
https://bugs.webkit.org/show_bug.cgi?id=103134

Reviewed by Eric Seidel.

I found that RenderLayer still uses raw pointers to the objects which it owns.
Looks like these pointers could be replaced with OwnPtrs.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateNormalFlowList):
(WebCore::RenderLayer::collectLayers):
(WebCore::RenderLayer::styleChanged):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::marquee):
(WebCore::RenderLayer::posZOrderList):
(WebCore::RenderLayer::negZOrderList):
(WebCore::RenderLayer::normalFlowList):
(RenderLayer):
(WebCore::RenderLayer::clearZOrderLists):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (135604 => 135605)


--- trunk/Source/WebCore/ChangeLog	2012-11-23 14:22:55 UTC (rev 135604)
+++ trunk/Source/WebCore/ChangeLog	2012-11-23 14:55:46 UTC (rev 135605)
@@ -1,3 +1,29 @@
+2012-11-23  Ilya Tikhonovsky  <[email protected]>
+
+        RenderLayer minor clean-up: replace raw pointers with OwnPtrs.
+        https://bugs.webkit.org/show_bug.cgi?id=103134
+
+        Reviewed by Eric Seidel.
+
+        I found that RenderLayer still uses raw pointers to the objects which it owns.
+        Looks like these pointers could be replaced with OwnPtrs.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::RenderLayer):
+        (WebCore::RenderLayer::~RenderLayer):
+        (WebCore::RenderLayer::paintLayerContents):
+        (WebCore::RenderLayer::hitTestLayer):
+        (WebCore::RenderLayer::updateNormalFlowList):
+        (WebCore::RenderLayer::collectLayers):
+        (WebCore::RenderLayer::styleChanged):
+        * rendering/RenderLayer.h:
+        (WebCore::RenderLayer::marquee):
+        (WebCore::RenderLayer::posZOrderList):
+        (WebCore::RenderLayer::negZOrderList):
+        (WebCore::RenderLayer::normalFlowList):
+        (RenderLayer):
+        (WebCore::RenderLayer::clearZOrderLists):
+
 2012-11-23  Christophe Dumez  <[email protected]>
 
         [EFL][AC] Mouse cursor is not updated when accelerated compositing is enabled

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (135604 => 135605)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2012-11-23 14:22:55 UTC (rev 135604)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2012-11-23 14:55:46 UTC (rev 135605)
@@ -179,10 +179,6 @@
     , m_next(0)
     , m_first(0)
     , m_last(0)
-    , m_posZOrderList(0)
-    , m_negZOrderList(0)
-    , m_normalFlowList(0)
-    , m_marquee(0)
     , m_staticInlinePosition(0)
     , m_staticBlockPosition(0)
     , m_reflection(0)
@@ -245,11 +241,6 @@
     // Child layers will be deleted by their corresponding render objects, so
     // we don't need to delete them ourselves.
 
-    delete m_posZOrderList;
-    delete m_negZOrderList;
-    delete m_normalFlowList;
-    delete m_marquee;
-
 #if USE(ACCELERATED_COMPOSITING)
     clearBacking(true);
 #endif
@@ -3421,7 +3412,7 @@
         }
     
         // Paint any child layers that have overflow.
-        paintList(m_normalFlowList, context, localPaintingInfo, localPaintFlags);
+        paintList(m_normalFlowList.get(), context, localPaintingInfo, localPaintFlags);
     
         // Now walk the sorted list of children with positive z-indices.
         paintList(posZOrderList(), context, localPaintingInfo, localPaintFlags);
@@ -3884,7 +3875,7 @@
     }
 
     // Now check our overflow objects.
-    hitLayer = hitTestList(m_normalFlowList, rootLayer, request, result, hitTestRect, hitTestLocation,
+    hitLayer = hitTestList(m_normalFlowList.get(), rootLayer, request, result, hitTestRect, hitTestLocation,
                            localTransformState.get(), zOffsetForDescendantsPtr, zOffset, unflattenedTransformState.get(), depthSortDescendants);
     if (hitLayer) {
         if (!depthSortDescendants)
@@ -4832,7 +4823,7 @@
         // Ignore non-overflow layers and reflections.
         if (child->isNormalFlowOnly() && (!m_reflection || reflectionLayer() != child)) {
             if (!m_normalFlowList)
-                m_normalFlowList = new Vector<RenderLayer*>;
+                m_normalFlowList = adoptPtr(new Vector<RenderLayer*>);
             m_normalFlowList->append(child);
         }
     }
@@ -4840,7 +4831,7 @@
     m_normalFlowListDirty = false;
 }
 
-void RenderLayer::collectLayers(bool includeHiddenLayers, Vector<RenderLayer*>*& posBuffer, Vector<RenderLayer*>*& negBuffer)
+void RenderLayer::collectLayers(bool includeHiddenLayers, OwnPtr<Vector<RenderLayer*> >& posBuffer, OwnPtr<Vector<RenderLayer*> >& negBuffer)
 {
 #if ENABLE(DIALOG_ELEMENT)
     if (isInTopLayer())
@@ -4853,11 +4844,11 @@
     bool includeHiddenLayer = includeHiddenLayers || (m_hasVisibleContent || (m_hasVisibleDescendant && isStackingContext()));
     if (includeHiddenLayer && !isNormalFlowOnly() && !renderer()->isRenderFlowThread()) {
         // Determine which buffer the child should be in.
-        Vector<RenderLayer*>*& buffer = (zIndex() >= 0) ? posBuffer : negBuffer;
+        OwnPtr<Vector<RenderLayer*> >& buffer = (zIndex() >= 0) ? posBuffer : negBuffer;
 
         // Create the buffer if it doesn't exist yet.
         if (!buffer)
-            buffer = new Vector<RenderLayer*>;
+            buffer = adoptPtr(new Vector<RenderLayer*>);
         
         // Append ourselves at the end of the appropriate buffer.
         buffer->append(this);
@@ -5086,12 +5077,11 @@
 
     if (renderer()->style()->overflowX() == OMARQUEE && renderer()->style()->marqueeBehavior() != MNONE && renderer()->isBox()) {
         if (!m_marquee)
-            m_marquee = new RenderMarquee(this);
+            m_marquee = adoptPtr(new RenderMarquee(this));
         m_marquee->updateMarqueeStyle();
     }
     else if (m_marquee) {
-        delete m_marquee;
-        m_marquee = 0;
+        m_marquee.clear();
     }
 
     updateStackingContextsAfterStyleChange(oldStyle);

Modified: trunk/Source/WebCore/rendering/RenderLayer.h (135604 => 135605)


--- trunk/Source/WebCore/rendering/RenderLayer.h	2012-11-23 14:22:55 UTC (rev 135604)
+++ trunk/Source/WebCore/rendering/RenderLayer.h	2012-11-23 14:55:46 UTC (rev 135605)
@@ -284,7 +284,7 @@
 
     void styleChanged(StyleDifference, const RenderStyle* oldStyle);
 
-    RenderMarquee* marquee() const { return m_marquee; }
+    RenderMarquee* marquee() const { return m_marquee.get(); }
 
     bool isNormalFlowOnly() const { return m_isNormalFlowOnly; }
     bool isSelfPaintingLayer() const { return m_isSelfPaintingLayer; }
@@ -433,7 +433,7 @@
     {
         ASSERT(!m_zOrderListsDirty);
         ASSERT(isStackingContext() || !m_posZOrderList);
-        return m_posZOrderList;
+        return m_posZOrderList.get();
     }
 
     bool hasNegativeZOrderList() const { return negZOrderList() && negZOrderList()->size(); }
@@ -442,11 +442,11 @@
     {
         ASSERT(!m_zOrderListsDirty);
         ASSERT(isStackingContext() || !m_negZOrderList);
-        return m_negZOrderList;
+        return m_negZOrderList.get();
     }
 
     void dirtyNormalFlowList();
-    Vector<RenderLayer*>* normalFlowList() const { ASSERT(!m_normalFlowListDirty); return m_normalFlowList; }
+    Vector<RenderLayer*>* normalFlowList() const { ASSERT(!m_normalFlowListDirty); return m_normalFlowList.get(); }
 
     // Update our normal and z-index lists.
     void updateLayerListsIfNeeded();
@@ -764,7 +764,7 @@
     LayoutUnit renderBoxX() const { return renderBoxLocation().x(); }
     LayoutUnit renderBoxY() const { return renderBoxLocation().y(); }
 
-    void collectLayers(bool includeHiddenLayers, Vector<RenderLayer*>*&, Vector<RenderLayer*>*&);
+    void collectLayers(bool includeHiddenLayers, OwnPtr<Vector<RenderLayer*> >&, OwnPtr<Vector<RenderLayer*> >&);
 
     void updateCompositingAndLayerListsIfNeeded();
 
@@ -1038,18 +1038,18 @@
     // descendant layers within the stacking context that have z-indices of 0 or greater
     // (auto will count as 0).  m_negZOrderList holds descendants within our stacking context with negative
     // z-indices.
-    Vector<RenderLayer*>* m_posZOrderList;
-    Vector<RenderLayer*>* m_negZOrderList;
+    OwnPtr<Vector<RenderLayer*> > m_posZOrderList;
+    OwnPtr<Vector<RenderLayer*> > m_negZOrderList;
 
     // This list contains child layers that cannot create stacking contexts.  For now it is just
     // overflow layers, but that may change in the future.
-    Vector<RenderLayer*>* m_normalFlowList;
+    OwnPtr<Vector<RenderLayer*> > m_normalFlowList;
 
     OwnPtr<ClipRectsCache> m_clipRectsCache;
     
     IntPoint m_cachedOverlayScrollbarOffset;
 
-    RenderMarquee* m_marquee; // Used by layers with overflow:marquee
+    OwnPtr<RenderMarquee> m_marquee; // Used by layers with overflow:marquee
     
     // Cached normal flow values for absolute positioned elements with static left/top values.
     LayoutUnit m_staticInlinePosition;
@@ -1076,15 +1076,8 @@
 {
     ASSERT(!isStackingContext());
 
-    if (m_posZOrderList) {
-        delete m_posZOrderList;
-        m_posZOrderList = 0;
-    }
-
-    if (m_negZOrderList) {
-        delete m_negZOrderList;
-        m_negZOrderList = 0;
-    }
+    m_posZOrderList.clear();
+    m_negZOrderList.clear();
 }
 
 inline void RenderLayer::updateZOrderLists()
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to