OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 CHROME_BROWSER_ACCESSIBILITY_EVENTS_H_ | 5 #ifndef CHROME_BROWSER_ACCESSIBILITY_EVENTS_H_ |
6 #define CHROME_BROWSER_ACCESSIBILITY_EVENTS_H_ | 6 #define CHROME_BROWSER_ACCESSIBILITY_EVENTS_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 13 matching lines...) Expand all Loading... |
24 // Abstract parent class for accessibility information about a control | 24 // Abstract parent class for accessibility information about a control |
25 // passed to event listeners. | 25 // passed to event listeners. |
26 class AccessibilityControlInfo { | 26 class AccessibilityControlInfo { |
27 public: | 27 public: |
28 virtual ~AccessibilityControlInfo() { } | 28 virtual ~AccessibilityControlInfo() { } |
29 | 29 |
30 // Serialize this class as a DictionaryValue that can be converted to | 30 // Serialize this class as a DictionaryValue that can be converted to |
31 // a JavaScript object. | 31 // a JavaScript object. |
32 virtual void SerializeToDict(DictionaryValue *dict) const; | 32 virtual void SerializeToDict(DictionaryValue *dict) const; |
33 | 33 |
| 34 // Return the specific type of this control, which will be one of the |
| 35 // string constants defined in extension_accessibility_api_constants.h. |
| 36 virtual const char* type() const = 0; |
| 37 |
34 Profile* profile() const { return profile_; } | 38 Profile* profile() const { return profile_; } |
35 | 39 |
36 const std::string& name() const { return name_; } | 40 const std::string& name() const { return name_; } |
37 | 41 |
38 protected: | 42 protected: |
39 // The constructor can only be called by subclasses. | 43 // The constructor can only be called by subclasses. |
40 AccessibilityControlInfo(Profile* profile, std::string control_name) | 44 AccessibilityControlInfo(Profile* profile, std::string control_name) |
41 : profile_(profile), name_(control_name) { } | 45 : profile_(profile), name_(control_name) { } |
42 | 46 |
43 // The profile this control belongs to. | 47 // The profile this control belongs to. |
44 Profile* profile_; | 48 Profile* profile_; |
45 | 49 |
46 // The name of the control, like "OK" or "Password". | 50 // The name of the control, like "OK" or "Password". |
47 std::string name_; | 51 std::string name_; |
48 }; | 52 }; |
49 | 53 |
50 // Accessibility information about a window passed to onWindowOpened | 54 // Accessibility information about a window passed to onWindowOpened |
51 // and onWindowClosed event listeners. | 55 // and onWindowClosed event listeners. |
52 class AccessibilityWindowInfo : public AccessibilityControlInfo { | 56 class AccessibilityWindowInfo : public AccessibilityControlInfo { |
53 public: | 57 public: |
54 AccessibilityWindowInfo(Profile* profile, std::string window_name) | 58 AccessibilityWindowInfo(Profile* profile, std::string window_name) |
55 : AccessibilityControlInfo(profile, window_name) { } | 59 : AccessibilityControlInfo(profile, window_name) { } |
56 | 60 |
57 virtual void SerializeToDict(DictionaryValue *dict) const; | 61 virtual const char* type() const; |
58 }; | 62 }; |
59 | 63 |
60 // Accessibility information about a push button passed to onControlFocused | 64 // Accessibility information about a push button passed to onControlFocused |
61 // and onControlAction event listeners. | 65 // and onControlAction event listeners. |
62 class AccessibilityButtonInfo : public AccessibilityControlInfo { | 66 class AccessibilityButtonInfo : public AccessibilityControlInfo { |
63 public: | 67 public: |
64 AccessibilityButtonInfo(Profile* profile, std::string button_name) | 68 AccessibilityButtonInfo(Profile* profile, std::string button_name) |
65 : AccessibilityControlInfo(profile, button_name) { } | 69 : AccessibilityControlInfo(profile, button_name) { } |
66 | 70 |
67 virtual void SerializeToDict(DictionaryValue *dict) const; | 71 virtual const char* type() const; |
68 }; | 72 }; |
69 | 73 |
70 // Accessibility information about a hyperlink passed to onControlFocused | 74 // Accessibility information about a hyperlink passed to onControlFocused |
71 // and onControlAction event listeners. | 75 // and onControlAction event listeners. |
72 class AccessibilityLinkInfo : public AccessibilityControlInfo { | 76 class AccessibilityLinkInfo : public AccessibilityControlInfo { |
73 public: | 77 public: |
74 AccessibilityLinkInfo(Profile* profile, std::string link_name) | 78 AccessibilityLinkInfo(Profile* profile, std::string link_name) |
75 : AccessibilityControlInfo(profile, link_name) { } | 79 : AccessibilityControlInfo(profile, link_name) { } |
76 | 80 |
77 virtual void SerializeToDict(DictionaryValue *dict) const; | 81 virtual const char* type() const; |
78 }; | 82 }; |
79 | 83 |
80 // Accessibility information about a radio button passed to onControlFocused | 84 // Accessibility information about a radio button passed to onControlFocused |
81 // and onControlAction event listeners. | 85 // and onControlAction event listeners. |
82 class AccessibilityRadioButtonInfo : public AccessibilityControlInfo { | 86 class AccessibilityRadioButtonInfo : public AccessibilityControlInfo { |
83 public: | 87 public: |
84 AccessibilityRadioButtonInfo(Profile* profile, | 88 AccessibilityRadioButtonInfo(Profile* profile, |
85 std::string name, | 89 std::string name, |
86 bool checked, | 90 bool checked, |
87 int item_index, | 91 int item_index, |
88 int item_count) | 92 int item_count) |
89 : AccessibilityControlInfo(profile, name), | 93 : AccessibilityControlInfo(profile, name), |
90 checked_(checked), | 94 checked_(checked), |
91 item_index_(item_index), | 95 item_index_(item_index), |
92 item_count_(item_count) { | 96 item_count_(item_count) { |
93 } | 97 } |
94 | 98 |
| 99 virtual const char* type() const; |
| 100 |
95 virtual void SerializeToDict(DictionaryValue *dict) const; | 101 virtual void SerializeToDict(DictionaryValue *dict) const; |
96 | 102 |
97 void SetChecked(bool checked) { checked_ = checked; } | 103 void SetChecked(bool checked) { checked_ = checked; } |
98 | 104 |
99 private: | 105 private: |
100 bool checked_; | 106 bool checked_; |
101 // The 0-based index of this radio button and number of buttons in the group. | 107 // The 0-based index of this radio button and number of buttons in the group. |
102 int item_index_; | 108 int item_index_; |
103 int item_count_; | 109 int item_count_; |
104 }; | 110 }; |
105 | 111 |
106 // Accessibility information about a checkbox passed to onControlFocused | 112 // Accessibility information about a checkbox passed to onControlFocused |
107 // and onControlAction event listeners. | 113 // and onControlAction event listeners. |
108 class AccessibilityCheckboxInfo : public AccessibilityControlInfo { | 114 class AccessibilityCheckboxInfo : public AccessibilityControlInfo { |
109 public: | 115 public: |
110 AccessibilityCheckboxInfo(Profile* profile, | 116 AccessibilityCheckboxInfo(Profile* profile, |
111 std::string name, | 117 std::string name, |
112 bool checked) | 118 bool checked) |
113 : AccessibilityControlInfo(profile, name), | 119 : AccessibilityControlInfo(profile, name), |
114 checked_(checked) { | 120 checked_(checked) { |
115 } | 121 } |
116 | 122 |
| 123 virtual const char* type() const; |
| 124 |
117 virtual void SerializeToDict(DictionaryValue *dict) const; | 125 virtual void SerializeToDict(DictionaryValue *dict) const; |
118 | 126 |
119 void SetChecked(bool checked) { checked_ = checked; } | 127 void SetChecked(bool checked) { checked_ = checked; } |
120 | 128 |
121 private: | 129 private: |
122 bool checked_; | 130 bool checked_; |
123 }; | 131 }; |
124 | 132 |
125 // Accessibility information about a tab passed to onControlFocused | 133 // Accessibility information about a tab passed to onControlFocused |
126 // and onControlAction event listeners. | 134 // and onControlAction event listeners. |
127 class AccessibilityTabInfo : public AccessibilityControlInfo { | 135 class AccessibilityTabInfo : public AccessibilityControlInfo { |
128 public: | 136 public: |
129 AccessibilityTabInfo(Profile* profile, | 137 AccessibilityTabInfo(Profile* profile, |
130 std::string tab_name, | 138 std::string tab_name, |
131 int tab_index, | 139 int tab_index, |
132 int tab_count) | 140 int tab_count) |
133 : AccessibilityControlInfo(profile, tab_name), | 141 : AccessibilityControlInfo(profile, tab_name), |
134 tab_index_(tab_index), | 142 tab_index_(tab_index), |
135 tab_count_(tab_count) { | 143 tab_count_(tab_count) { |
136 } | 144 } |
137 | 145 |
| 146 virtual const char* type() const; |
| 147 |
138 virtual void SerializeToDict(DictionaryValue *dict) const; | 148 virtual void SerializeToDict(DictionaryValue *dict) const; |
139 | 149 |
140 void SetTab(int tab_index, std::string tab_name) { | 150 void SetTab(int tab_index, std::string tab_name) { |
141 tab_index_ = tab_index; | 151 tab_index_ = tab_index; |
142 name_ = tab_name; | 152 name_ = tab_name; |
143 } | 153 } |
144 | 154 |
145 private: | 155 private: |
146 // The 0-based index of this tab and number of tabs in the group. | 156 // The 0-based index of this tab and number of tabs in the group. |
147 int tab_index_; | 157 int tab_index_; |
148 int tab_count_; | 158 int tab_count_; |
149 }; | 159 }; |
150 | 160 |
151 // Accessibility information about a combo box passed to onControlFocused | 161 // Accessibility information about a combo box passed to onControlFocused |
152 // and onControlAction event listeners. | 162 // and onControlAction event listeners. |
153 class AccessibilityComboBoxInfo : public AccessibilityControlInfo { | 163 class AccessibilityComboBoxInfo : public AccessibilityControlInfo { |
154 public: | 164 public: |
155 AccessibilityComboBoxInfo(Profile* profile, | 165 AccessibilityComboBoxInfo(Profile* profile, |
156 std::string name, | 166 std::string name, |
157 std::string value, | 167 std::string value, |
158 int item_index, | 168 int item_index, |
159 int item_count) | 169 int item_count) |
160 : AccessibilityControlInfo(profile, name), | 170 : AccessibilityControlInfo(profile, name), |
161 value_(value), | 171 value_(value), |
162 item_index_(item_index), | 172 item_index_(item_index), |
163 item_count_(item_count) { | 173 item_count_(item_count) { |
164 } | 174 } |
165 | 175 |
| 176 virtual const char* type() const; |
| 177 |
166 virtual void SerializeToDict(DictionaryValue *dict) const; | 178 virtual void SerializeToDict(DictionaryValue *dict) const; |
167 | 179 |
168 void SetValue(int item_index, std::string value) { | 180 void SetValue(int item_index, std::string value) { |
169 item_index_ = item_index; | 181 item_index_ = item_index; |
170 value_ = value; | 182 value_ = value; |
171 } | 183 } |
172 | 184 |
173 private: | 185 private: |
174 std::string value_; | 186 std::string value_; |
175 // The 0-based index of the current item and the number of total items. | 187 // The 0-based index of the current item and the number of total items. |
(...skipping 10 matching lines...) Expand all Loading... |
186 AccessibilityTextBoxInfo(Profile* profile, | 198 AccessibilityTextBoxInfo(Profile* profile, |
187 std::string name, | 199 std::string name, |
188 bool password) | 200 bool password) |
189 : AccessibilityControlInfo(profile, name), | 201 : AccessibilityControlInfo(profile, name), |
190 value_(""), | 202 value_(""), |
191 password_(password), | 203 password_(password), |
192 selection_start_(0), | 204 selection_start_(0), |
193 selection_end_(0) { | 205 selection_end_(0) { |
194 } | 206 } |
195 | 207 |
| 208 virtual const char* type() const; |
| 209 |
196 virtual void SerializeToDict(DictionaryValue *dict) const; | 210 virtual void SerializeToDict(DictionaryValue *dict) const; |
197 | 211 |
198 void SetValue(std::string value, int selection_start, int selection_end) { | 212 void SetValue(std::string value, int selection_start, int selection_end) { |
199 value_ = value; | 213 value_ = value; |
200 selection_start_ = selection_start; | 214 selection_start_ = selection_start; |
201 selection_end_ = selection_end; | 215 selection_end_ = selection_end; |
202 } | 216 } |
203 | 217 |
204 private: | 218 private: |
205 std::string value_; | 219 std::string value_; |
(...skipping 10 matching lines...) Expand all Loading... |
216 std::string name, | 230 std::string name, |
217 std::string value, | 231 std::string value, |
218 int item_index, | 232 int item_index, |
219 int item_count) | 233 int item_count) |
220 : AccessibilityControlInfo(profile, name), | 234 : AccessibilityControlInfo(profile, name), |
221 value_(value), | 235 value_(value), |
222 item_index_(item_index), | 236 item_index_(item_index), |
223 item_count_(item_count) { | 237 item_count_(item_count) { |
224 } | 238 } |
225 | 239 |
| 240 virtual const char* type() const; |
| 241 |
226 virtual void SerializeToDict(DictionaryValue *dict) const; | 242 virtual void SerializeToDict(DictionaryValue *dict) const; |
227 | 243 |
228 void SetValue(int item_index, std::string value) { | 244 void SetValue(int item_index, std::string value) { |
229 item_index_ = item_index; | 245 item_index_ = item_index; |
230 value_ = value; | 246 value_ = value; |
231 } | 247 } |
232 | 248 |
233 private: | 249 private: |
234 std::string value_; | 250 std::string value_; |
235 // The 0-based index of the current item and the number of total items. | 251 // The 0-based index of the current item and the number of total items. |
236 // If the value is not one of the drop-down options, |item_index_| should | 252 // If the value is not one of the drop-down options, |item_index_| should |
237 // be -1. | 253 // be -1. |
238 int item_index_; | 254 int item_index_; |
239 int item_count_; | 255 int item_count_; |
240 }; | 256 }; |
241 | 257 |
242 // Accessibility information about a menu; this class is used by | 258 // Accessibility information about a menu; this class is used by |
243 // onMenuOpened, onMenuClosed, and onControlFocused event listeners. | 259 // onMenuOpened, onMenuClosed, and onControlFocused event listeners. |
244 class AccessibilityMenuInfo : public AccessibilityControlInfo { | 260 class AccessibilityMenuInfo : public AccessibilityControlInfo { |
245 public: | 261 public: |
246 AccessibilityMenuInfo(Profile* profile, std::string menu_name) | 262 AccessibilityMenuInfo(Profile* profile, std::string menu_name) |
247 : AccessibilityControlInfo(profile, menu_name) { } | 263 : AccessibilityControlInfo(profile, menu_name) { } |
248 | 264 |
249 virtual void SerializeToDict(DictionaryValue *dict) const; | 265 virtual const char* type() const; |
250 }; | 266 }; |
251 | 267 |
252 // Accessibility information about a menu item; this class is used by | 268 // Accessibility information about a menu item; this class is used by |
253 // onControlFocused event listeners. | 269 // onControlFocused event listeners. |
254 class AccessibilityMenuItemInfo : public AccessibilityControlInfo { | 270 class AccessibilityMenuItemInfo : public AccessibilityControlInfo { |
255 public: | 271 public: |
256 AccessibilityMenuItemInfo(Profile* profile, | 272 AccessibilityMenuItemInfo(Profile* profile, |
257 std::string name, | 273 std::string name, |
258 bool has_submenu, | 274 bool has_submenu, |
259 int item_index, | 275 int item_index, |
260 int item_count) | 276 int item_count) |
261 : AccessibilityControlInfo(profile, name), | 277 : AccessibilityControlInfo(profile, name), |
262 has_submenu_(has_submenu), | 278 has_submenu_(has_submenu), |
263 item_index_(item_index), | 279 item_index_(item_index), |
264 item_count_(item_count) { | 280 item_count_(item_count) { |
265 } | 281 } |
266 | 282 |
| 283 virtual const char* type() const; |
| 284 |
267 virtual void SerializeToDict(DictionaryValue *dict) const; | 285 virtual void SerializeToDict(DictionaryValue *dict) const; |
268 | 286 |
269 private: | 287 private: |
270 bool has_submenu_; | 288 bool has_submenu_; |
271 // The 0-based index of the current item and the number of total items. | 289 // The 0-based index of the current item and the number of total items. |
272 int item_index_; | 290 int item_index_; |
273 int item_count_; | 291 int item_count_; |
274 }; | 292 }; |
275 | 293 |
276 #endif // CHROME_BROWSER_ACCESSIBILITY_EVENTS_H_ | 294 #endif // CHROME_BROWSER_ACCESSIBILITY_EVENTS_H_ |
OLD | NEW |