diff options
Diffstat (limited to 'Source/WebCore/rendering/RenderScrollbar.h')
-rw-r--r-- | Source/WebCore/rendering/RenderScrollbar.h | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/Source/WebCore/rendering/RenderScrollbar.h b/Source/WebCore/rendering/RenderScrollbar.h index 9166e4c16..176fcca86 100644 --- a/Source/WebCore/rendering/RenderScrollbar.h +++ b/Source/WebCore/rendering/RenderScrollbar.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008, 2009 Apple Inc. All Rights Reserved. + * Copyright (C) 2008, 2009, 2015 Apple Inc. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -23,8 +23,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef RenderScrollbar_h -#define RenderScrollbar_h +#pragma once #include "RenderPtr.h" #include "RenderStyleConstants.h" @@ -42,12 +41,12 @@ class RenderStyle; class RenderScrollbar final : public Scrollbar { public: friend class Scrollbar; - static RefPtr<Scrollbar> createCustomScrollbar(ScrollableArea*, ScrollbarOrientation, Element*, Frame* owningFrame = nullptr); + static Ref<Scrollbar> createCustomScrollbar(ScrollableArea&, ScrollbarOrientation, Element*, Frame* owningFrame = nullptr); virtual ~RenderScrollbar(); RenderBox* owningRenderer() const; - void paintPart(GraphicsContext*, ScrollbarPart, const IntRect&); + void paintPart(GraphicsContext&, ScrollbarPart, const IntRect&); IntRect buttonRect(ScrollbarPart); IntRect trackRect(int startLength, int endLength); @@ -55,26 +54,24 @@ public: int minimumThumbLength(); - virtual bool isOverlayScrollbar() const { return false; } + bool isOverlayScrollbar() const override { return false; } float opacity(); - PassRefPtr<RenderStyle> getScrollbarPseudoStyle(ScrollbarPart, PseudoId); + std::unique_ptr<RenderStyle> getScrollbarPseudoStyle(ScrollbarPart, PseudoId); private: - RenderScrollbar(ScrollableArea*, ScrollbarOrientation, Element*, Frame*); + RenderScrollbar(ScrollableArea&, ScrollbarOrientation, Element*, Frame*); - virtual void setParent(ScrollView*) override; - virtual void setEnabled(bool) override; + void setParent(ScrollView*) override; + void setEnabled(bool) override; - virtual void paint(GraphicsContext*, const IntRect& damageRect) override; + void paint(GraphicsContext&, const IntRect& damageRect, Widget::SecurityOriginPaintPolicy) override; - virtual void setHoveredPart(ScrollbarPart) override; - virtual void setPressedPart(ScrollbarPart) override; + void setHoveredPart(ScrollbarPart) override; + void setPressedPart(ScrollbarPart) override; - virtual void styleChanged() override; - - virtual bool isCustomScrollbar() const override { return true; } + void styleChanged() override; void updateScrollbarParts(); @@ -90,15 +87,8 @@ private: HashMap<unsigned, RenderPtr<RenderScrollbarPart>> m_parts; }; -inline RenderScrollbar* toRenderScrollbar(ScrollbarThemeClient* scrollbar) -{ - ASSERT_WITH_SECURITY_IMPLICATION(!scrollbar || scrollbar->isCustomScrollbar()); - return static_cast<RenderScrollbar*>(scrollbar); -} - -// This will catch anyone doing an unnecessary cast. -void toRenderScrollbar(const RenderScrollbar*); - } // namespace WebCore -#endif // RenderScrollbar_h +SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::RenderScrollbar) + static bool isType(const WebCore::Scrollbar& scrollbar) { return scrollbar.isCustomScrollbar(); } +SPECIALIZE_TYPE_TRAITS_END() |