OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_H_ | 5 #ifndef UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_H_ |
6 #define UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_H_ | 6 #define UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_H_ |
7 | 7 |
8 #include "ui/base/accessibility/accessibility_types.h" | 8 #include "ui/base/accessibility/accessibility_types.h" |
9 #include "ui/gfx/native_widget_types.h" | 9 #include "ui/gfx/native_widget_types.h" |
10 #include "ui/views/views_export.h" | 10 #include "ui/views/views_export.h" |
11 | 11 |
12 namespace views { | 12 namespace views { |
13 | 13 |
14 class View; | 14 class View; |
15 | 15 |
16 class AccessibleWebView { | |
17 public: | |
18 virtual gfx::NativeViewAccessible AccessibleObjectFromChildId(long child_id) | |
19 = 0; | |
20 virtual View* AsView() = 0; | |
21 }; | |
22 | |
23 class VIEWS_EXPORT NativeViewAccessibility { | 16 class VIEWS_EXPORT NativeViewAccessibility { |
24 public: | 17 public: |
25 static NativeViewAccessibility* Create(View* view); | 18 static NativeViewAccessibility* Create(View* view); |
26 | 19 |
27 virtual void NotifyAccessibilityEvent( | 20 virtual void NotifyAccessibilityEvent( |
28 ui::AccessibilityTypes::Event event_type) {} | 21 ui::AccessibilityTypes::Event event_type) {} |
29 | 22 |
30 virtual gfx::NativeViewAccessible GetNativeObject(); | 23 virtual gfx::NativeViewAccessible GetNativeObject(); |
31 | 24 |
32 // Call Destroy rather than deleting this, because the subclass may | 25 // Call Destroy rather than deleting this, because the subclass may |
33 // use reference counting. | 26 // use reference counting. |
34 virtual void Destroy(); | 27 virtual void Destroy(); |
35 | 28 |
36 static void RegisterWebView(AccessibleWebView* web_view); | 29 // WebViews need to be registered because they implement their own |
37 | 30 // tree of accessibility objects, and we need to check them when |
38 static void UnregisterWebView(AccessibleWebView* web_view); | 31 // mapping a child id to a NativeViewAccessible. |
| 32 static void RegisterWebView(View* web_view); |
| 33 static void UnregisterWebView(View* web_view); |
39 | 34 |
40 protected: | 35 protected: |
41 NativeViewAccessibility(); | 36 NativeViewAccessibility(); |
42 virtual ~NativeViewAccessibility(); | 37 virtual ~NativeViewAccessibility(); |
43 | 38 |
44 private: | 39 private: |
45 DISALLOW_COPY_AND_ASSIGN(NativeViewAccessibility); | 40 DISALLOW_COPY_AND_ASSIGN(NativeViewAccessibility); |
46 }; | 41 }; |
47 | 42 |
48 } // namespace views | 43 } // namespace views |
49 | 44 |
50 #endif // UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_H_ | 45 #endif // UI_VIEWS_ACCESSIBILITY_NATIVE_VIEW_ACCESSIBILITY_H_ |
OLD | NEW |