| 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 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ | 5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ |
| 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ | 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 // (which is relative to its nearest scrollable ancestor) to | 163 // (which is relative to its nearest scrollable ancestor) to |
| 164 // absolute bounds, either in page coordinates (when |frameOnly| is | 164 // absolute bounds, either in page coordinates (when |frameOnly| is |
| 165 // false), or in frame coordinates (when |frameOnly| is true). | 165 // false), or in frame coordinates (when |frameOnly| is true). |
| 166 virtual gfx::Rect RelativeToAbsoluteBounds(gfx::RectF bounds, | 166 virtual gfx::Rect RelativeToAbsoluteBounds(gfx::RectF bounds, |
| 167 bool frame_only) const; | 167 bool frame_only) const; |
| 168 | 168 |
| 169 // This is to handle the cases such as ARIA textbox, where the value should | 169 // This is to handle the cases such as ARIA textbox, where the value should |
| 170 // be calculated from the object's inner text. | 170 // be calculated from the object's inner text. |
| 171 virtual base::string16 GetValue() const; | 171 virtual base::string16 GetValue() const; |
| 172 | 172 |
| 173 // Starting at the given character offset, locates the start of the next or | |
| 174 // previous line and returns its character offset. | |
| 175 int GetLineStartBoundary(int start, | |
| 176 ui::TextBoundaryDirection direction, | |
| 177 ui::AXTextAffinity affinity) const; | |
| 178 | |
| 179 // Starting at the given character offset, locates the start of the next or | |
| 180 // previous word and returns its character offset. | |
| 181 // In case there is no word boundary before or after the given offset, it | |
| 182 // returns one past the last character. | |
| 183 // If the given offset is already at the start of a word, returns the start | |
| 184 // of the next word if the search is forwards, and the given offset if it is | |
| 185 // backwards. | |
| 186 // If the start offset is equal to -1 and the search is in the forwards | |
| 187 // direction, returns the start boundary of the first word. | |
| 188 // Start offsets that are not in the range -1 to text length are invalid. | |
| 189 int GetWordStartBoundary(int start, | |
| 190 ui::TextBoundaryDirection direction) const; | |
| 191 | |
| 192 // This is an approximate hit test that only uses the information in | 173 // This is an approximate hit test that only uses the information in |
| 193 // the browser process to compute the correct result. It will not return | 174 // the browser process to compute the correct result. It will not return |
| 194 // correct results in many cases of z-index, overflow, and absolute | 175 // correct results in many cases of z-index, overflow, and absolute |
| 195 // positioning, so BrowserAccessibilityManager::CachingAsyncHitTest | 176 // positioning, so BrowserAccessibilityManager::CachingAsyncHitTest |
| 196 // should be used instead, which falls back on calling ApproximateHitTest | 177 // should be used instead, which falls back on calling ApproximateHitTest |
| 197 // automatically. | 178 // automatically. |
| 198 BrowserAccessibility* ApproximateHitTest(const gfx::Point& screen_point); | 179 BrowserAccessibility* ApproximateHitTest(const gfx::Point& screen_point); |
| 199 | 180 |
| 200 // Marks this object for deletion, releases our reference to it, and | 181 // Marks this object for deletion, releases our reference to it, and |
| 201 // nulls out the pointer to the underlying AXNode. May not delete | 182 // nulls out the pointer to the underlying AXNode. May not delete |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 bool IsMenuRelated() const; | 375 bool IsMenuRelated() const; |
| 395 bool IsNativeTextControl() const; | 376 bool IsNativeTextControl() const; |
| 396 bool IsSimpleTextControl() const; | 377 bool IsSimpleTextControl() const; |
| 397 // Indicates if this object is at the root of a rich edit text control. | 378 // Indicates if this object is at the root of a rich edit text control. |
| 398 bool IsRichTextControl() const; | 379 bool IsRichTextControl() const; |
| 399 | 380 |
| 400 // If an object is focusable but has no accessible name, use this | 381 // If an object is focusable but has no accessible name, use this |
| 401 // to compute a name from its descendants. | 382 // to compute a name from its descendants. |
| 402 std::string ComputeAccessibleNameFromDescendants(); | 383 std::string ComputeAccessibleNameFromDescendants(); |
| 403 | 384 |
| 404 // Creates a position rooted at this object. | 385 // Creates a text position rooted at this object. |
| 405 // This is a text position on all platforms except IA2 and ATK, where tree | 386 AXPlatformPosition::AXPositionInstance CreatePositionAt( |
| 406 // positions are created for non-text objects representing hypertext offsets. | 387 int offset, |
| 407 virtual AXPlatformPosition::AXPositionInstance CreatePositionAt( | 388 ui::AXTextAffinity affinity = ui::AX_TEXT_AFFINITY_DOWNSTREAM) const; |
| 408 int offset) const; | |
| 409 | 389 |
| 410 // Gets the text offsets where new lines start. | 390 // Gets the text offsets where new lines start. |
| 411 std::vector<int> GetLineStartOffsets() const; | 391 std::vector<int> GetLineStartOffsets() const; |
| 412 | 392 |
| 413 // AXPlatformNodeDelegate. | 393 // AXPlatformNodeDelegate. |
| 414 const ui::AXNodeData& GetData() const override; | 394 const ui::AXNodeData& GetData() const override; |
| 415 gfx::NativeWindow GetTopLevelWidget() override; | 395 gfx::NativeWindow GetTopLevelWidget() override; |
| 416 gfx::NativeViewAccessible GetParent() override; | 396 gfx::NativeViewAccessible GetParent() override; |
| 417 int GetChildCount() override; | 397 int GetChildCount() override; |
| 418 gfx::NativeViewAccessible ChildAtIndex(int index) override; | 398 gfx::NativeViewAccessible ChildAtIndex(int index) override; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 // bounds, but "virtual" elements in the accessibility tree that don't | 436 // bounds, but "virtual" elements in the accessibility tree that don't |
| 457 // correspond to a layed-out element sometimes don't have bounds. | 437 // correspond to a layed-out element sometimes don't have bounds. |
| 458 void FixEmptyBounds(gfx::RectF* bounds) const; | 438 void FixEmptyBounds(gfx::RectF* bounds) const; |
| 459 | 439 |
| 460 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility); | 440 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility); |
| 461 }; | 441 }; |
| 462 | 442 |
| 463 } // namespace content | 443 } // namespace content |
| 464 | 444 |
| 465 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ | 445 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ |
| OLD | NEW |