Blink roll 25b6bd3a7a131ffe68d809546ad1a20707915cdc:3a503f41ae42e5b79cfcd2ff10e65afde...
[chromium-blink-merge.git] / content / browser / accessibility / browser_accessibility_android.h
blob70579ab9b85cf439e9bee0540e004a6b735baaae
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_
6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_
8 #include "base/android/scoped_java_ref.h"
9 #include "content/browser/accessibility/browser_accessibility.h"
11 namespace content {
13 class CONTENT_EXPORT BrowserAccessibilityAndroid : public BrowserAccessibility {
14 public:
15 // Overrides from BrowserAccessibility.
16 virtual void OnDataChanged() override;
17 virtual bool IsNative() const override;
18 virtual void OnLocationChanged() override;
20 virtual bool PlatformIsLeaf() const override;
22 bool CanScrollForward() const;
23 bool CanScrollBackward() const;
24 bool IsCheckable() const;
25 bool IsChecked() const;
26 bool IsClickable() const;
27 bool IsCollection() const;
28 bool IsCollectionItem() const;
29 bool IsContentInvalid() const;
30 bool IsDismissable() const;
31 bool IsEditableText() const;
32 bool IsEnabled() const;
33 bool IsFocusable() const;
34 bool IsFocused() const;
35 bool IsHeading() const;
36 bool IsHierarchical() const;
37 bool IsLink() const;
38 bool IsMultiLine() const;
39 bool IsPassword() const;
40 bool IsRangeType() const;
41 bool IsScrollable() const;
42 bool IsSelected() const;
43 bool IsSlider() const;
44 bool IsVisibleToUser() const;
46 bool CanOpenPopup() const;
48 bool HasFocusableChild() const;
50 const char* GetClassName() const;
51 base::string16 GetText() const;
53 int GetItemIndex() const;
54 int GetItemCount() const;
56 int GetScrollX() const;
57 int GetScrollY() const;
58 int GetMaxScrollX() const;
59 int GetMaxScrollY() const;
61 int GetTextChangeFromIndex() const;
62 int GetTextChangeAddedCount() const;
63 int GetTextChangeRemovedCount() const;
64 base::string16 GetTextChangeBeforeText() const;
66 int GetSelectionStart() const;
67 int GetSelectionEnd() const;
68 int GetEditableTextLength() const;
70 int AndroidInputType() const;
71 int AndroidLiveRegionType() const;
72 int AndroidRangeType() const;
74 int RowCount() const;
75 int ColumnCount() const;
77 int RowIndex() const;
78 int RowSpan() const;
79 int ColumnIndex() const;
80 int ColumnSpan() const;
82 float RangeMin() const;
83 float RangeMax() const;
84 float RangeCurrentValue() const;
86 // Calls GetLineBoundaries or GetWordBoundaries depending on the value
87 // of |granularity|, or fails if anything else is passed in |granularity|.
88 void GetGranularityBoundaries(int granularity,
89 std::vector<int32>* starts,
90 std::vector<int32>* ends,
91 int offset);
93 // Append line start and end indices for the text of this node
94 // (as returned by GetText()), adding |offset| to each one.
95 void GetLineBoundaries(std::vector<int32>* line_starts,
96 std::vector<int32>* line_ends,
97 int offset);
99 // Append word start and end indices for the text of this node
100 // (as returned by GetText()) to |word_starts| and |word_ends|,
101 // adding |offset| to each one.
102 void GetWordBoundaries(std::vector<int32>* word_starts,
103 std::vector<int32>* word_ends,
104 int offset);
106 private:
107 // This gives BrowserAccessibility::Create access to the class constructor.
108 friend class BrowserAccessibility;
110 BrowserAccessibilityAndroid();
112 bool HasOnlyStaticTextChildren() const;
113 bool HasOnlyTextAndImageChildren() const;
114 bool IsIframe() const;
116 void NotifyLiveRegionUpdate(base::string16& aria_live);
118 int CountChildrenWithRole(ui::AXRole role) const;
120 base::string16 cached_text_;
121 bool first_time_;
122 base::string16 old_value_;
123 base::string16 new_value_;
125 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityAndroid);
128 } // namespace content
130 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_