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_BROWSER_ACCESSIBILITY_WIN_H_ | 5 #ifndef CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_WIN_H_ |
6 #define CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_WIN_H_ | 6 #define CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_WIN_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <atlbase.h> | 9 #include <atlbase.h> |
10 #include <atlcom.h> | 10 #include <atlcom.h> |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 LONG* x, LONG* y); | 223 LONG* x, LONG* y); |
224 | 224 |
225 STDMETHODIMP get_imageSize(LONG* height, LONG* width); | 225 STDMETHODIMP get_imageSize(LONG* height, LONG* width); |
226 | 226 |
227 // | 227 // |
228 // IAccessibleText methods. | 228 // IAccessibleText methods. |
229 // | 229 // |
230 | 230 |
231 STDMETHODIMP get_nCharacters(LONG* n_characters); | 231 STDMETHODIMP get_nCharacters(LONG* n_characters); |
232 | 232 |
233 STDMETHODIMP get_text(LONG start_offset, LONG end_offset, BSTR* text); | |
234 | |
235 STDMETHODIMP get_caretOffset(LONG* offset); | 233 STDMETHODIMP get_caretOffset(LONG* offset); |
236 | 234 |
237 STDMETHODIMP get_nSelections(LONG* n_selections); | 235 STDMETHODIMP get_nSelections(LONG* n_selections); |
238 | 236 |
239 STDMETHODIMP get_selection(LONG selection_index, | 237 STDMETHODIMP get_selection(LONG selection_index, |
240 LONG* start_offset, | 238 LONG* start_offset, |
241 LONG* end_offset); | 239 LONG* end_offset); |
242 | 240 |
| 241 STDMETHODIMP get_text(LONG start_offset, LONG end_offset, BSTR* text); |
| 242 |
| 243 STDMETHODIMP get_textAtOffset(LONG offset, |
| 244 enum IA2TextBoundaryType boundary_type, |
| 245 LONG* start_offset, LONG* end_offset, |
| 246 BSTR* text); |
| 247 |
| 248 STDMETHODIMP get_textBeforeOffset(LONG offset, |
| 249 enum IA2TextBoundaryType boundary_type, |
| 250 LONG* start_offset, LONG* end_offset, |
| 251 BSTR* text); |
| 252 |
| 253 STDMETHODIMP get_textAfterOffset(LONG offset, |
| 254 enum IA2TextBoundaryType boundary_type, |
| 255 LONG* start_offset, LONG* end_offset, |
| 256 BSTR* text); |
243 | 257 |
244 // IAccessibleText methods not implemented. | 258 // IAccessibleText methods not implemented. |
245 STDMETHODIMP addSelection(LONG start_offset, LONG end_offset) { | 259 STDMETHODIMP addSelection(LONG start_offset, LONG end_offset) { |
246 return E_NOTIMPL; | 260 return E_NOTIMPL; |
247 } | 261 } |
248 STDMETHODIMP get_attributes(LONG offset, LONG* start_offset, LONG* end_offset, | 262 STDMETHODIMP get_attributes(LONG offset, LONG* start_offset, LONG* end_offset, |
249 BSTR* text_attributes) { | 263 BSTR* text_attributes) { |
250 return E_NOTIMPL; | 264 return E_NOTIMPL; |
251 } | 265 } |
252 STDMETHODIMP get_characterExtents(LONG offset, | 266 STDMETHODIMP get_characterExtents(LONG offset, |
253 enum IA2CoordinateType coord_type, | 267 enum IA2CoordinateType coord_type, |
254 LONG* x, LONG* y, | 268 LONG* x, LONG* y, |
255 LONG* width, LONG* height) { | 269 LONG* width, LONG* height) { |
256 return E_NOTIMPL; | 270 return E_NOTIMPL; |
257 } | 271 } |
258 STDMETHODIMP get_offsetAtPoint(LONG x, LONG y, | 272 STDMETHODIMP get_offsetAtPoint(LONG x, LONG y, |
259 enum IA2CoordinateType coord_type, | 273 enum IA2CoordinateType coord_type, |
260 LONG* offset) { | 274 LONG* offset) { |
261 return E_NOTIMPL; | |
262 } | |
263 STDMETHODIMP get_textBeforeOffset(LONG offset, | |
264 enum IA2TextBoundaryType boundary_type, | |
265 LONG* start_offset, LONG* end_offset, | |
266 BSTR* text) { | |
267 return E_NOTIMPL; | |
268 } | |
269 STDMETHODIMP get_textAfterOffset(LONG offset, | |
270 enum IA2TextBoundaryType boundary_type, | |
271 LONG* start_offset, LONG* end_offset, | |
272 BSTR* text) { | |
273 return E_NOTIMPL; | |
274 } | |
275 STDMETHODIMP get_textAtOffset(LONG offset, | |
276 enum IA2TextBoundaryType boundary_type, | |
277 LONG* start_offset, LONG* end_offset, | |
278 BSTR* text) { | |
279 return E_NOTIMPL; | 275 return E_NOTIMPL; |
280 } | 276 } |
281 STDMETHODIMP removeSelection(LONG selection_index) { | 277 STDMETHODIMP removeSelection(LONG selection_index) { |
282 return E_NOTIMPL; | 278 return E_NOTIMPL; |
283 } | 279 } |
284 STDMETHODIMP setCaretOffset(LONG offset) { | 280 STDMETHODIMP setCaretOffset(LONG offset) { |
285 return E_NOTIMPL; | 281 return E_NOTIMPL; |
286 } | 282 } |
287 STDMETHODIMP setSelection(LONG selection_index, | 283 STDMETHODIMP setSelection(LONG selection_index, |
288 LONG start_offset, | 284 LONG start_offset, |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 // Retrieve the value of an attribute from the attribute map and | 473 // Retrieve the value of an attribute from the attribute map and |
478 // if found and nonempty, try to convert it to an integer. | 474 // if found and nonempty, try to convert it to an integer. |
479 // Returns true only if both the attribute was found and it was successfully | 475 // Returns true only if both the attribute was found and it was successfully |
480 // converted to an integer. | 476 // converted to an integer. |
481 bool GetAttributeAsInt( | 477 bool GetAttributeAsInt( |
482 WebAccessibility::Attribute attribute, int* value_int); | 478 WebAccessibility::Attribute attribute, int* value_int); |
483 | 479 |
484 // Escape a string like it would be escaped for a URL or HTML form. | 480 // Escape a string like it would be escaped for a URL or HTML form. |
485 string16 Escape(string16 str); | 481 string16 Escape(string16 str); |
486 | 482 |
| 483 // Get the text of this node for the purposes of IAccessibleText - it may |
| 484 // be the name, it may be the value, etc. depending on the role. |
| 485 const string16& TextForIAccessibleText(); |
| 486 |
| 487 // Search forwards (direction == 1) or backwards (direction == -1) from |
| 488 // the given offset until the given IAccessible2 boundary (like word, |
| 489 // sentence) is found, and return its offset. |
| 490 LONG FindBoundary(const string16& text, |
| 491 IA2TextBoundaryType boundary, |
| 492 LONG start_offset, |
| 493 LONG direction); |
| 494 |
487 // COM objects are reference-counted. When we're done with this object | 495 // COM objects are reference-counted. When we're done with this object |
488 // and it's removed from our accessibility tree, a client may still be | 496 // and it's removed from our accessibility tree, a client may still be |
489 // holding onto a pointer to this object, so we mark it as inactive | 497 // holding onto a pointer to this object, so we mark it as inactive |
490 // so that calls to any of this object's methods immediately return | 498 // so that calls to any of this object's methods immediately return |
491 // failure. | 499 // failure. |
492 bool instance_active_; | 500 bool instance_active_; |
493 | 501 |
494 // IAccessible role and state. | 502 // IAccessible role and state. |
495 int32 ia_state_; | 503 int32 ia_state_; |
496 int32 ia_role_; | 504 int32 ia_role_; |
497 | 505 |
498 // IAccessible2 role and state. | 506 // IAccessible2 role and state. |
499 int32 ia2_role_; | 507 int32 ia2_role_; |
500 int32 ia2_state_; | 508 int32 ia2_state_; |
501 | 509 |
502 // Give BrowserAccessibility::Create access to our constructor. | 510 // Give BrowserAccessibility::Create access to our constructor. |
503 friend class BrowserAccessibility; | 511 friend class BrowserAccessibility; |
504 | 512 |
505 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityWin); | 513 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityWin); |
506 }; | 514 }; |
507 | 515 |
508 #endif // CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_WIN_H_ | 516 #endif // CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_WIN_H_ |
OLD | NEW |