OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "base/strings/string16.h" | 5 #include "base/strings/string16.h" |
6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
7 #include "content/browser/accessibility/browser_accessibility.h" | 7 #include "content/browser/accessibility/browser_accessibility.h" |
8 #include "content/browser/accessibility/browser_accessibility_manager.h" | 8 #include "content/browser/accessibility/browser_accessibility_manager.h" |
9 #if defined(OS_WIN) | 9 #if defined(OS_WIN) |
10 #include "content/browser/accessibility/browser_accessibility_win.h" | 10 #include "content/browser/accessibility/browser_accessibility_win.h" |
11 #endif | 11 #endif |
12 #include "content/common/accessibility_messages.h" | 12 #include "content/common/accessibility_messages.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 | 14 |
15 namespace content { | 15 namespace content { |
16 namespace { | 16 namespace { |
17 | 17 |
18 // Subclass of BrowserAccessibility that counts the number of instances. | 18 // Subclass of BrowserAccessibility that counts the number of instances. |
19 class CountedBrowserAccessibility : public BrowserAccessibility { | 19 class CountedBrowserAccessibility : public BrowserAccessibility { |
20 public: | 20 public: |
21 CountedBrowserAccessibility() { | 21 CountedBrowserAccessibility() { |
22 global_obj_count_++; | 22 global_obj_count_++; |
23 native_ref_count_ = 1; | 23 native_ref_count_ = 1; |
24 } | 24 } |
25 virtual ~CountedBrowserAccessibility() { | 25 virtual ~CountedBrowserAccessibility() { |
26 global_obj_count_--; | 26 global_obj_count_--; |
27 } | 27 } |
28 | 28 |
29 virtual void NativeAddReference() OVERRIDE { | 29 virtual void NativeAddReference() override { |
30 native_ref_count_++; | 30 native_ref_count_++; |
31 } | 31 } |
32 | 32 |
33 virtual void NativeReleaseReference() OVERRIDE { | 33 virtual void NativeReleaseReference() override { |
34 native_ref_count_--; | 34 native_ref_count_--; |
35 if (native_ref_count_ == 0) | 35 if (native_ref_count_ == 0) |
36 delete this; | 36 delete this; |
37 } | 37 } |
38 | 38 |
39 int native_ref_count_; | 39 int native_ref_count_; |
40 static int global_obj_count_; | 40 static int global_obj_count_; |
41 | 41 |
42 #if defined(OS_WIN) | 42 #if defined(OS_WIN) |
43 // Adds some padding to prevent a heap-buffer-overflow when an instance of | 43 // Adds some padding to prevent a heap-buffer-overflow when an instance of |
44 // this class is casted into a BrowserAccessibilityWin pointer. | 44 // this class is casted into a BrowserAccessibilityWin pointer. |
45 // http://crbug.com/235508 | 45 // http://crbug.com/235508 |
46 // TODO(dmazzoni): Fix this properly. | 46 // TODO(dmazzoni): Fix this properly. |
47 static const size_t kDataSize = sizeof(int) + sizeof(BrowserAccessibility); | 47 static const size_t kDataSize = sizeof(int) + sizeof(BrowserAccessibility); |
48 uint8 padding_[sizeof(BrowserAccessibilityWin) - kDataSize]; | 48 uint8 padding_[sizeof(BrowserAccessibilityWin) - kDataSize]; |
49 #endif | 49 #endif |
50 }; | 50 }; |
51 | 51 |
52 int CountedBrowserAccessibility::global_obj_count_ = 0; | 52 int CountedBrowserAccessibility::global_obj_count_ = 0; |
53 | 53 |
54 // Factory that creates a CountedBrowserAccessibility. | 54 // Factory that creates a CountedBrowserAccessibility. |
55 class CountedBrowserAccessibilityFactory | 55 class CountedBrowserAccessibilityFactory |
56 : public BrowserAccessibilityFactory { | 56 : public BrowserAccessibilityFactory { |
57 public: | 57 public: |
58 virtual ~CountedBrowserAccessibilityFactory() {} | 58 virtual ~CountedBrowserAccessibilityFactory() {} |
59 virtual BrowserAccessibility* Create() OVERRIDE { | 59 virtual BrowserAccessibility* Create() override { |
60 return new CountedBrowserAccessibility(); | 60 return new CountedBrowserAccessibility(); |
61 } | 61 } |
62 }; | 62 }; |
63 | 63 |
64 class TestBrowserAccessibilityDelegate | 64 class TestBrowserAccessibilityDelegate |
65 : public BrowserAccessibilityDelegate { | 65 : public BrowserAccessibilityDelegate { |
66 public: | 66 public: |
67 TestBrowserAccessibilityDelegate() | 67 TestBrowserAccessibilityDelegate() |
68 : got_fatal_error_(false) {} | 68 : got_fatal_error_(false) {} |
69 | 69 |
70 virtual void AccessibilitySetFocus(int acc_obj_id) OVERRIDE {} | 70 virtual void AccessibilitySetFocus(int acc_obj_id) override {} |
71 virtual void AccessibilityDoDefaultAction(int acc_obj_id) OVERRIDE {} | 71 virtual void AccessibilityDoDefaultAction(int acc_obj_id) override {} |
72 virtual void AccessibilityShowMenu(const gfx::Point& point) OVERRIDE {} | 72 virtual void AccessibilityShowMenu(const gfx::Point& point) override {} |
73 virtual void AccessibilityScrollToMakeVisible( | 73 virtual void AccessibilityScrollToMakeVisible( |
74 int acc_obj_id, const gfx::Rect& subfocus) OVERRIDE {} | 74 int acc_obj_id, const gfx::Rect& subfocus) override {} |
75 virtual void AccessibilityScrollToPoint( | 75 virtual void AccessibilityScrollToPoint( |
76 int acc_obj_id, const gfx::Point& point) OVERRIDE {} | 76 int acc_obj_id, const gfx::Point& point) override {} |
77 virtual void AccessibilitySetTextSelection( | 77 virtual void AccessibilitySetTextSelection( |
78 int acc_obj_id, int start_offset, int end_offset) OVERRIDE {} | 78 int acc_obj_id, int start_offset, int end_offset) override {} |
79 virtual bool AccessibilityViewHasFocus() const OVERRIDE { | 79 virtual bool AccessibilityViewHasFocus() const override { |
80 return false; | 80 return false; |
81 } | 81 } |
82 virtual gfx::Rect AccessibilityGetViewBounds() const OVERRIDE { | 82 virtual gfx::Rect AccessibilityGetViewBounds() const override { |
83 return gfx::Rect(); | 83 return gfx::Rect(); |
84 } | 84 } |
85 virtual gfx::Point AccessibilityOriginInScreen( | 85 virtual gfx::Point AccessibilityOriginInScreen( |
86 const gfx::Rect& bounds) const OVERRIDE { | 86 const gfx::Rect& bounds) const override { |
87 return gfx::Point(); | 87 return gfx::Point(); |
88 } | 88 } |
89 virtual void AccessibilityHitTest(const gfx::Point& point) OVERRIDE {} | 89 virtual void AccessibilityHitTest(const gfx::Point& point) override {} |
90 virtual void AccessibilityFatalError() OVERRIDE { | 90 virtual void AccessibilityFatalError() override { |
91 got_fatal_error_ = true; | 91 got_fatal_error_ = true; |
92 } | 92 } |
93 virtual gfx::AcceleratedWidget AccessibilityGetAcceleratedWidget() OVERRIDE { | 93 virtual gfx::AcceleratedWidget AccessibilityGetAcceleratedWidget() override { |
94 return gfx::kNullAcceleratedWidget; | 94 return gfx::kNullAcceleratedWidget; |
95 } | 95 } |
96 virtual gfx::NativeViewAccessible AccessibilityGetNativeViewAccessible() | 96 virtual gfx::NativeViewAccessible AccessibilityGetNativeViewAccessible() |
97 OVERRIDE { | 97 override { |
98 return NULL; | 98 return NULL; |
99 } | 99 } |
100 virtual BrowserAccessibilityManager* AccessibilityGetChildFrame( | 100 virtual BrowserAccessibilityManager* AccessibilityGetChildFrame( |
101 int accessibility_node_id) OVERRIDE { | 101 int accessibility_node_id) override { |
102 return NULL; | 102 return NULL; |
103 } | 103 } |
104 virtual BrowserAccessibility* AccessibilityGetParentFrame() OVERRIDE { | 104 virtual BrowserAccessibility* AccessibilityGetParentFrame() override { |
105 return NULL; | 105 return NULL; |
106 } | 106 } |
107 | 107 |
108 bool got_fatal_error() const { return got_fatal_error_; } | 108 bool got_fatal_error() const { return got_fatal_error_; } |
109 void reset_got_fatal_error() { got_fatal_error_ = false; } | 109 void reset_got_fatal_error() { got_fatal_error_ = false; } |
110 | 110 |
111 private: | 111 private: |
112 bool got_fatal_error_; | 112 bool got_fatal_error_; |
113 }; | 113 }; |
114 | 114 |
(...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
940 ASSERT_EQ(NULL, manager->NextInTreeOrder(node5_accessible)); | 940 ASSERT_EQ(NULL, manager->NextInTreeOrder(node5_accessible)); |
941 | 941 |
942 ASSERT_EQ(NULL, manager->PreviousInTreeOrder(NULL)); | 942 ASSERT_EQ(NULL, manager->PreviousInTreeOrder(NULL)); |
943 ASSERT_EQ(node4_accessible, manager->PreviousInTreeOrder(node5_accessible)); | 943 ASSERT_EQ(node4_accessible, manager->PreviousInTreeOrder(node5_accessible)); |
944 ASSERT_EQ(node3_accessible, manager->PreviousInTreeOrder(node4_accessible)); | 944 ASSERT_EQ(node3_accessible, manager->PreviousInTreeOrder(node4_accessible)); |
945 ASSERT_EQ(node2_accessible, manager->PreviousInTreeOrder(node3_accessible)); | 945 ASSERT_EQ(node2_accessible, manager->PreviousInTreeOrder(node3_accessible)); |
946 ASSERT_EQ(root_accessible, manager->PreviousInTreeOrder(node2_accessible)); | 946 ASSERT_EQ(root_accessible, manager->PreviousInTreeOrder(node2_accessible)); |
947 } | 947 } |
948 | 948 |
949 } // namespace content | 949 } // namespace content |
OLD | NEW |