Title: [134707] branches/safari-536.28-branch/Source/WebCore
Revision
134707
Author
simon.fra...@apple.com
Date
2012-11-14 18:07:09 -0800 (Wed, 14 Nov 2012)

Log Message

<rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)

Merge r119458

    2012-06-04  Simon Fraser  <simon.fra...@apple.com>

    Leaking ClipRects
    https://bugs.webkit.org/show_bug.cgi?id=88282

    Reviewed by Dan Bernstein.

    In r118562 I made the ClipRectsCache use RefPtr<ClipRects>. However, ClipRects
    was initialized with m_refCnt=0, not 1 as adoptRef() and friends expect. Also,
    there was a manual ref() in RenderLayer::updateClipRects() which this patch removes.

    * rendering/RenderLayer.cpp:
    (WebCore::RenderLayer::updateClipRects):
    * rendering/RenderLayer.h:
    (WebCore::ClipRects::ClipRects):

Modified Paths

Diff

Modified: branches/safari-536.28-branch/Source/WebCore/ChangeLog (134706 => 134707)


--- branches/safari-536.28-branch/Source/WebCore/ChangeLog	2012-11-15 02:07:04 UTC (rev 134706)
+++ branches/safari-536.28-branch/Source/WebCore/ChangeLog	2012-11-15 02:07:09 UTC (rev 134707)
@@ -2,6 +2,28 @@
 
         <rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)
 
+        Merge r119458
+
+    2012-06-04  Simon Fraser  <simon.fra...@apple.com>
+    
+            Leaking ClipRects
+            https://bugs.webkit.org/show_bug.cgi?id=88282
+    
+            Reviewed by Dan Bernstein.
+    
+            In r118562 I made the ClipRectsCache use RefPtr<ClipRects>. However, ClipRects
+            was initialized with m_refCnt=0, not 1 as adoptRef() and friends expect. Also,
+            there was a manual ref() in RenderLayer::updateClipRects() which this patch removes.
+    
+            * rendering/RenderLayer.cpp:
+            (WebCore::RenderLayer::updateClipRects):
+            * rendering/RenderLayer.h:
+            (WebCore::ClipRects::ClipRects):
+
+2012-11-13  Simon Fraser  <simon.fra...@apple.com>
+
+        <rdar://problem/12705261> Cache absolute clip rects on RenderLayer for compositing overlap testing (87212)
+
         Merge r118612
 
     2012-05-26  Simon Fraser  <simon.fra...@apple.com>

Modified: branches/safari-536.28-branch/Source/WebCore/rendering/RenderLayer.cpp (134706 => 134707)


--- branches/safari-536.28-branch/Source/WebCore/rendering/RenderLayer.cpp	2012-11-15 02:07:04 UTC (rev 134706)
+++ branches/safari-536.28-branch/Source/WebCore/rendering/RenderLayer.cpp	2012-11-15 02:07:09 UTC (rev 134707)
@@ -3814,7 +3814,6 @@
     else
         m_clipRectsCache->m_clipRects[clipRectsType] = ClipRects::create(clipRects);
 
-    m_clipRectsCache->m_clipRects[clipRectsType]->ref();
 #ifndef NDEBUG
     m_clipRectsCache->m_clipRectsRoot[clipRectsType] = rootLayer;
 #endif

Modified: branches/safari-536.28-branch/Source/WebCore/rendering/RenderLayer.h (134706 => 134707)


--- branches/safari-536.28-branch/Source/WebCore/rendering/RenderLayer.h	2012-11-15 02:07:04 UTC (rev 134706)
+++ branches/safari-536.28-branch/Source/WebCore/rendering/RenderLayer.h	2012-11-15 02:07:09 UTC (rev 134707)
@@ -139,7 +139,7 @@
     }
 
     ClipRects()
-        : m_refCnt(0)
+        : m_refCnt(1)
         , m_fixed(false)
     {
     }
@@ -193,7 +193,7 @@
         : m_overflowClipRect(r)
         , m_fixedClipRect(r)
         , m_posClipRect(r)
-        , m_refCnt(0)
+        , m_refCnt(1)
         , m_fixed(false)
     {
     }
@@ -202,7 +202,7 @@
         : m_overflowClipRect(other.overflowClipRect())
         , m_fixedClipRect(other.fixedClipRect())
         , m_posClipRect(other.posClipRect())
-        , m_refCnt(0)
+        , m_refCnt(1)
         , m_fixed(other.fixed())
     {
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to