Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(323)

Side by Side Diff: chrome/browser/browser_accessibility_win.h

Issue 3389037: Make the selection start and end attributes of an html input control... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_BROWSER_ACCESSIBILITY_WIN_H_ 5 #ifndef CHROME_BROWSER_BROWSER_ACCESSIBILITY_WIN_H_
6 #define CHROME_BROWSER_BROWSER_ACCESSIBILITY_WIN_H_ 6 #define CHROME_BROWSER_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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // Return true if this object is equal to or a descendant of |ancestor|. 76 // Return true if this object is equal to or a descendant of |ancestor|.
77 bool IsDescendantOf(BrowserAccessibility* ancestor); 77 bool IsDescendantOf(BrowserAccessibility* ancestor);
78 78
79 // Returns the parent of this object, or NULL if it's the BrowserAccessibility 79 // Returns the parent of this object, or NULL if it's the BrowserAccessibility
80 // root. 80 // root.
81 BrowserAccessibility* GetParent(); 81 BrowserAccessibility* GetParent();
82 82
83 // Returns the number of children of this BrowserAccessibility object. 83 // Returns the number of children of this BrowserAccessibility object.
84 uint32 GetChildCount(); 84 uint32 GetChildCount();
85 85
86 // Return a pointer to the child with the given index.
87 BrowserAccessibility* GetChild(uint32 child_index);
88
86 // Return the previous sibling of this object, or NULL if it's the first 89 // Return the previous sibling of this object, or NULL if it's the first
87 // child of its parent. 90 // child of its parent.
88 BrowserAccessibility* GetPreviousSibling(); 91 BrowserAccessibility* GetPreviousSibling();
89 92
90 // Return the next sibling of this object, or NULL if it's the last child 93 // Return the next sibling of this object, or NULL if it's the last child
91 // of its parent. 94 // of its parent.
92 BrowserAccessibility* GetNextSibling(); 95 BrowserAccessibility* GetNextSibling();
93 96
94 // Replace a child BrowserAccessibility object. Used when updating the 97 // Replace a child BrowserAccessibility object. Used when updating the
95 // accessibility tree. 98 // accessibility tree.
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 return E_NOTIMPL; 255 return E_NOTIMPL;
253 } 256 }
254 257
255 // 258 //
256 // IAccessibleImage methods. 259 // IAccessibleImage methods.
257 // 260 //
258 261
259 STDMETHODIMP get_description(BSTR* description); 262 STDMETHODIMP get_description(BSTR* description);
260 263
261 STDMETHODIMP get_imagePosition(enum IA2CoordinateType coordinate_type, 264 STDMETHODIMP get_imagePosition(enum IA2CoordinateType coordinate_type,
262 long* x, long* y); 265 LONG* x, LONG* y);
263 266
264 STDMETHODIMP get_imageSize(long* height, long* width); 267 STDMETHODIMP get_imageSize(LONG* height, LONG* width);
265 268
266 // 269 //
267 // IAccessibleText methods. 270 // IAccessibleText methods.
268 // 271 //
269 272
270 STDMETHODIMP get_nCharacters(long* n_characters); 273 STDMETHODIMP get_nCharacters(LONG* n_characters);
271 274
272 STDMETHODIMP get_text(long start_offset, long end_offset, BSTR* text); 275 STDMETHODIMP get_text(LONG start_offset, LONG end_offset, BSTR* text);
273 276
274 STDMETHODIMP get_caretOffset(long* offset); 277 STDMETHODIMP get_caretOffset(LONG* offset);
278
279 STDMETHODIMP get_nSelections(LONG* n_selections);
280
281 STDMETHODIMP get_selection(LONG selection_index,
282 LONG* start_offset,
283 LONG* end_offset);
275 284
276 // IAccessibleText methods not implemented. 285 // IAccessibleText methods not implemented.
277 STDMETHODIMP addSelection(long start_offset, long end_offset) { 286 STDMETHODIMP addSelection(LONG start_offset, LONG end_offset) {
278 return E_NOTIMPL; 287 return E_NOTIMPL;
279 } 288 }
280 STDMETHODIMP get_attributes(long offset, long* start_offset, long* end_offset, 289 STDMETHODIMP get_attributes(LONG offset, LONG* start_offset, LONG* end_offset,
281 BSTR* text_attributes) { 290 BSTR* text_attributes) {
282 return E_NOTIMPL; 291 return E_NOTIMPL;
283 } 292 }
284 STDMETHODIMP get_characterExtents(long offset, 293 STDMETHODIMP get_characterExtents(LONG offset,
285 enum IA2CoordinateType coord_type, 294 enum IA2CoordinateType coord_type,
286 long* x, long* y, 295 LONG* x, LONG* y,
287 long* width, long* height) { 296 LONG* width, LONG* height) {
288 return E_NOTIMPL; 297 return E_NOTIMPL;
289 } 298 }
290 STDMETHODIMP get_nSelections(long* n_selections) { 299 STDMETHODIMP get_offsetAtPoint(LONG x, LONG y,
300 enum IA2CoordinateType coord_type,
301 LONG* offset) {
291 return E_NOTIMPL; 302 return E_NOTIMPL;
292 } 303 }
293 STDMETHODIMP get_offsetAtPoint(long x, long y, 304 STDMETHODIMP get_textBeforeOffset(LONG offset,
294 enum IA2CoordinateType coord_type, 305 enum IA2TextBoundaryType boundary_type,
295 long* offset) { 306 LONG* start_offset, LONG* end_offset,
307 BSTR* text) {
296 return E_NOTIMPL; 308 return E_NOTIMPL;
297 } 309 }
298 STDMETHODIMP get_selection(long selection_index, 310 STDMETHODIMP get_textAfterOffset(LONG offset,
299 long* start_offset, 311 enum IA2TextBoundaryType boundary_type,
300 long* end_offset) { 312 LONG* start_offset, LONG* end_offset,
313 BSTR* text) {
301 return E_NOTIMPL; 314 return E_NOTIMPL;
302 } 315 }
303 STDMETHODIMP get_textBeforeOffset(long offset, 316 STDMETHODIMP get_textAtOffset(LONG offset,
304 enum IA2TextBoundaryType boundary_type, 317 enum IA2TextBoundaryType boundary_type,
305 long* start_offset, long* end_offset, 318 LONG* start_offset, LONG* end_offset,
306 BSTR* text) { 319 BSTR* text) {
307 return E_NOTIMPL; 320 return E_NOTIMPL;
308 } 321 }
309 STDMETHODIMP get_textAfterOffset(long offset, 322 STDMETHODIMP removeSelection(LONG selection_index) {
310 enum IA2TextBoundaryType boundary_type,
311 long* start_offset, long* end_offset,
312 BSTR* text) {
313 return E_NOTIMPL; 323 return E_NOTIMPL;
314 } 324 }
315 STDMETHODIMP get_textAtOffset(long offset, 325 STDMETHODIMP setCaretOffset(LONG offset) {
316 enum IA2TextBoundaryType boundary_type,
317 long* start_offset, long* end_offset,
318 BSTR* text) {
319 return E_NOTIMPL; 326 return E_NOTIMPL;
320 } 327 }
321 STDMETHODIMP removeSelection(long selection_index) { 328 STDMETHODIMP setSelection(LONG selection_index,
329 LONG start_offset,
330 LONG end_offset) {
322 return E_NOTIMPL; 331 return E_NOTIMPL;
323 } 332 }
324 STDMETHODIMP setCaretOffset(long offset) { 333 STDMETHODIMP scrollSubstringTo(LONG start_index,
325 return E_NOTIMPL; 334 LONG end_index,
326 }
327 STDMETHODIMP setSelection(long selection_index,
328 long start_offset,
329 long end_offset) {
330 return E_NOTIMPL;
331 }
332 STDMETHODIMP scrollSubstringTo(long start_index,
333 long end_index,
334 enum IA2ScrollType scroll_type) { 335 enum IA2ScrollType scroll_type) {
335 return E_NOTIMPL; 336 return E_NOTIMPL;
336 } 337 }
337 STDMETHODIMP scrollSubstringToPoint(long start_index, long end_index, 338 STDMETHODIMP scrollSubstringToPoint(LONG start_index, LONG end_index,
338 enum IA2CoordinateType coordinate_type, 339 enum IA2CoordinateType coordinate_type,
339 long x, long y) { 340 LONG x, LONG y) {
340 return E_NOTIMPL; 341 return E_NOTIMPL;
341 } 342 }
342 STDMETHODIMP get_newText(IA2TextSegment* new_text) { 343 STDMETHODIMP get_newText(IA2TextSegment* new_text) {
343 return E_NOTIMPL; 344 return E_NOTIMPL;
344 } 345 }
345 STDMETHODIMP get_oldText(IA2TextSegment* old_text) { 346 STDMETHODIMP get_oldText(IA2TextSegment* old_text) {
346 return E_NOTIMPL; 347 return E_NOTIMPL;
347 } 348 }
348 349
349 // 350 //
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 // Retrieve the string value of an attribute from the attribute map and 504 // Retrieve the string value of an attribute from the attribute map and
504 // returns true if found. 505 // returns true if found.
505 bool GetAttribute(WebAccessibility::Attribute attribute, string16* value); 506 bool GetAttribute(WebAccessibility::Attribute attribute, string16* value);
506 507
507 // Retrieve the string value of an attribute from the attribute map and 508 // Retrieve the string value of an attribute from the attribute map and
508 // if found and nonempty, allocate a new BSTR (with SysAllocString) 509 // if found and nonempty, allocate a new BSTR (with SysAllocString)
509 // and return S_OK. If not found or empty, return S_FALSE. 510 // and return S_OK. If not found or empty, return S_FALSE.
510 HRESULT GetAttributeAsBstr( 511 HRESULT GetAttributeAsBstr(
511 WebAccessibility::Attribute attribute, BSTR* value_bstr); 512 WebAccessibility::Attribute attribute, BSTR* value_bstr);
512 513
514 // Retrieve the value of an attribute from the attribute map and
515 // if found and nonempty, try to convert it to an integer.
516 // Returns true only if both the attribute was found and it was successfully
517 // converted to an integer.
518 bool GetAttributeAsInt(
519 WebAccessibility::Attribute attribute, int* value_int);
520
513 // Escape a string like it would be escaped for a URL or HTML form. 521 // Escape a string like it would be escaped for a URL or HTML form.
514 string16 Escape(string16 str); 522 string16 Escape(string16 str);
515 523
516 // The manager of this tree of accessibility objects; needed for 524 // The manager of this tree of accessibility objects; needed for
517 // global operations like focus tracking. 525 // global operations like focus tracking.
518 BrowserAccessibilityManager* manager_; 526 BrowserAccessibilityManager* manager_;
519 // The parent of this object, may be NULL if we're the root object. 527 // The parent of this object, may be NULL if we're the root object.
520 BrowserAccessibility* parent_; 528 BrowserAccessibility* parent_;
521 // The ID of this object; globally unique within the browser process. 529 // The ID of this object; globally unique within the browser process.
522 LONG child_id_; 530 LONG child_id_;
523 // The index of this within its parent object. 531 // The index of this within its parent object.
524 LONG index_in_parent_; 532 LONG index_in_parent_;
525 // The ID of this object in the renderer process. 533 // The ID of this object in the renderer process.
526 int32 renderer_id_; 534 int32 renderer_id_;
527 535
528 // The children of this object. 536 // The children of this object.
529 std::vector<BrowserAccessibility*> children_; 537 std::vector<BrowserAccessibility*> children_;
530 538
531 // Accessibility metadata from the renderer, used to respond to MSAA 539 // Accessibility metadata from the renderer, used to respond to MSAA
532 // events. 540 // events.
533 string16 name_; 541 string16 name_;
534 string16 value_; 542 string16 value_;
535 std::map<int32, string16> attributes_; 543 std::map<int32, string16> attributes_;
536 std::vector<std::pair<string16, string16> > html_attributes_; 544 std::vector<std::pair<string16, string16> > html_attributes_;
537 545
546 int src_role_;
538 LONG role_; 547 LONG role_;
539 LONG state_; 548 LONG state_;
540 string16 role_name_; 549 string16 role_name_;
541 LONG ia2_role_; 550 LONG ia2_role_;
542 LONG ia2_state_; 551 LONG ia2_state_;
543 WebKit::WebRect location_; 552 WebKit::WebRect location_;
544 553
545 // COM objects are reference-counted. When we're done with this object 554 // COM objects are reference-counted. When we're done with this object
546 // and it's removed from our accessibility tree, a client may still be 555 // and it's removed from our accessibility tree, a client may still be
547 // holding onto a pointer to this object, so we mark it as inactive 556 // holding onto a pointer to this object, so we mark it as inactive
548 // so that calls to any of this object's methods immediately return 557 // so that calls to any of this object's methods immediately return
549 // failure. 558 // failure.
550 bool instance_active_; 559 bool instance_active_;
551 560
552 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility); 561 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility);
553 }; 562 };
554 563
555 #endif // CHROME_BROWSER_BROWSER_ACCESSIBILITY_WIN_H_ 564 #endif // CHROME_BROWSER_BROWSER_ACCESSIBILITY_WIN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698