OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2010 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 15 matching lines...) Expand all Loading... |
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 */ | 27 */ |
28 | 28 |
29 #ifndef AXScrollbar_h | 29 #ifndef AXScrollbar_h |
30 #define AXScrollbar_h | 30 #define AXScrollbar_h |
31 | 31 |
32 #include "modules/accessibility/AXMockObject.h" | 32 #include "modules/accessibility/AXMockObject.h" |
33 | 33 |
34 namespace blink { | 34 namespace blink { |
35 | 35 |
| 36 class AXObjectCache; |
36 class Scrollbar; | 37 class Scrollbar; |
37 | 38 |
38 class AXScrollbar final : public AXMockObject { | 39 class AXScrollbar final : public AXMockObject { |
39 public: | 40 public: |
40 static PassRefPtr<AXScrollbar> create(Scrollbar*); | 41 static PassRefPtr<AXScrollbar> create(Scrollbar*, AXObjectCache*); |
41 | 42 |
42 Scrollbar* scrollbar() const { return m_scrollbar.get(); } | 43 Scrollbar* scrollbar() const { return m_scrollbar.get(); } |
43 | 44 |
44 private: | 45 private: |
45 explicit AXScrollbar(Scrollbar*); | 46 AXScrollbar(Scrollbar*, AXObjectCache*); |
46 | 47 |
47 virtual void detachFromParent() override; | 48 virtual void detachFromParent() override; |
48 | 49 |
49 virtual bool canSetValueAttribute() const override { return true; } | 50 virtual bool canSetValueAttribute() const override { return true; } |
50 | 51 |
51 virtual bool isAXScrollbar() const override { return true; } | 52 virtual bool isAXScrollbar() const override { return true; } |
52 virtual LayoutRect elementRect() const override; | 53 virtual LayoutRect elementRect() const override; |
53 | 54 |
54 virtual AccessibilityRole roleValue() const override { return ScrollBarRole;
} | 55 virtual AccessibilityRole roleValue() const override { return ScrollBarRole;
} |
55 virtual AccessibilityOrientation orientation() const override; | 56 virtual AccessibilityOrientation orientation() const override; |
56 virtual Document* document() const override; | 57 virtual Document* document() const override; |
57 | 58 |
58 virtual bool isEnabled() const override; | 59 virtual bool isEnabled() const override; |
59 | 60 |
60 // Assumes float [0..1] | 61 // Assumes float [0..1] |
61 virtual void setValue(float) override; | 62 virtual void setValue(float) override; |
62 virtual float valueForRange() const override; | 63 virtual float valueForRange() const override; |
63 | 64 |
64 // FIXME: Oilpan: turn this into a Member once the AXObject | 65 // FIXME: Oilpan: turn this into a Member once the AXObject |
65 // hierarchy is on the heap. | 66 // hierarchy is on the heap. |
66 RefPtrWillBePersistent<Scrollbar> m_scrollbar; | 67 RefPtrWillBePersistent<Scrollbar> m_scrollbar; |
67 }; | 68 }; |
68 | 69 |
69 DEFINE_AX_OBJECT_TYPE_CASTS(AXScrollbar, isAXScrollbar()); | 70 DEFINE_AX_OBJECT_TYPE_CASTS(AXScrollbar, isAXScrollbar()); |
70 | 71 |
71 } // namespace blink | 72 } // namespace blink |
72 | 73 |
73 #endif // AXScrollbar_h | 74 #endif // AXScrollbar_h |
OLD | NEW |