summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderScrollbar.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderScrollbar.h')
-rw-r--r--Source/WebCore/rendering/RenderScrollbar.h42
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()