+2014-01-01 Andreas Kling <akling@apple.com>
+
+ 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 <antti@apple.com>
Remove elementChildren/elementDescendants shorthands
, m_shouldUpdateWhileOffscreen(true)
, m_deferSetNeedsLayouts(0)
, m_setNeedsLayoutWasDeferred(false)
- , m_scrollCorner(0)
#if PLATFORM(IOS)
, m_useCustomFixedPositionLayoutRect(false)
#endif
if (verticalBar && verticalBar->isCustomScrollbar())
setHasVerticalScrollbar(false);
- if (m_scrollCorner) {
- m_scrollCorner->destroy();
- m_scrollCorner = 0;
- }
+ m_scrollCorner = nullptr;
}
void FrameView::recalculateScrollbarOverlayStyle()
}
}
- 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();
#include "LayoutRect.h"
#include "Pagination.h"
#include "PaintPhase.h"
+#include "RenderPtr.h"
#include "ScrollView.h"
#include <wtf/Forward.h>
#include <wtf/ListHashSet.h>
RefPtr<Node> m_maintainScrollPositionAnchor;
// Renderer to hold our custom scroll corner.
- RenderScrollbarPart* m_scrollCorner;
+ RenderPtr<RenderScrollbarPart> m_scrollCorner;
#if PLATFORM(IOS)
bool m_useCustomFixedPositionLayoutRect;