Title: [161197] trunk/Source/WebCore
Revision
161197
Author
[email protected]
Date
2014-01-01 15:18:46 -0800 (Wed, 01 Jan 2014)

Log Message

FrameView: Store scroll corner renderer in a RenderPtr.
<https://webkit.org/b/126364>

Make FrameView::m_scrollCorner a RenderPtr<RenderScrollbarPart> and
remove two manual destroy() calls.

Reviewed by Antti Koivisto.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (161196 => 161197)


--- trunk/Source/WebCore/ChangeLog	2014-01-01 21:48:13 UTC (rev 161196)
+++ trunk/Source/WebCore/ChangeLog	2014-01-01 23:18:46 UTC (rev 161197)
@@ -1,3 +1,13 @@
+2014-01-01  Andreas Kling  <[email protected]>
+
+        FrameView: Store scroll corner renderer in a RenderPtr.
+        <https://webkit.org/b/126364>
+
+        Make FrameView::m_scrollCorner a RenderPtr<RenderScrollbarPart> and
+        remove two manual destroy() calls.
+
+        Reviewed by Antti Koivisto.
+
 2014-01-01  Antti Koivisto  <[email protected]>
 
         Remove elementChildren/elementDescendants shorthands

Modified: trunk/Source/WebCore/page/FrameView.cpp (161196 => 161197)


--- trunk/Source/WebCore/page/FrameView.cpp	2014-01-01 21:48:13 UTC (rev 161196)
+++ trunk/Source/WebCore/page/FrameView.cpp	2014-01-01 23:18:46 UTC (rev 161197)
@@ -203,7 +203,6 @@
     , m_shouldUpdateWhileOffscreen(true)
     , m_deferSetNeedsLayouts(0)
     , m_setNeedsLayoutWasDeferred(false)
-    , m_scrollCorner(0)
 #if PLATFORM(IOS)
     , m_useCustomFixedPositionLayoutRect(false)
 #endif
@@ -376,10 +375,7 @@
     if (verticalBar && verticalBar->isCustomScrollbar())
         setHasVerticalScrollbar(false);
 
-    if (m_scrollCorner) {
-        m_scrollCorner->destroy();
-        m_scrollCorner = 0;
-    }
+    m_scrollCorner = nullptr;
 }
 
 void FrameView::recalculateScrollbarOverlayStyle()
@@ -3320,16 +3316,15 @@
         }
     }
 
-    if (cornerStyle) {
+    if (!cornerStyle)
+        m_scrollCorner = nullptr;
+    else {
         if (!m_scrollCorner) {
-            m_scrollCorner = new RenderScrollbarPart(renderer->document(), cornerStyle.releaseNonNull());
+            m_scrollCorner = createRenderer<RenderScrollbarPart>(renderer->document(), cornerStyle.releaseNonNull());
             m_scrollCorner->initializeStyle();
         } else
             m_scrollCorner->setStyle(cornerStyle.releaseNonNull());
         invalidateScrollCorner(cornerRect);
-    } else if (m_scrollCorner) {
-        m_scrollCorner->destroy();
-        m_scrollCorner = 0;
     }
 
     ScrollView::updateScrollCorner();

Modified: trunk/Source/WebCore/page/FrameView.h (161196 => 161197)


--- trunk/Source/WebCore/page/FrameView.h	2014-01-01 21:48:13 UTC (rev 161196)
+++ trunk/Source/WebCore/page/FrameView.h	2014-01-01 23:18:46 UTC (rev 161197)
@@ -31,6 +31,7 @@
 #include "LayoutRect.h"
 #include "Pagination.h"
 #include "PaintPhase.h"
+#include "RenderPtr.h"
 #include "ScrollView.h"
 #include <wtf/Forward.h>
 #include <wtf/ListHashSet.h>
@@ -644,7 +645,7 @@
     RefPtr<Node> m_maintainScrollPositionAnchor;
 
     // Renderer to hold our custom scroll corner.
-    RenderScrollbarPart* m_scrollCorner;
+    RenderPtr<RenderScrollbarPart> m_scrollCorner;
 
 #if PLATFORM(IOS)
     bool m_useCustomFixedPositionLayoutRect;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to