Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / content / browser / accessibility / browser_accessibility_android.h
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.
4
5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_
6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_
7
8 #include "base/android/scoped_java_ref.h"
9 #include "content/browser/accessibility/browser_accessibility.h"
10
11 namespace content {
12
13 class 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;
19
20   virtual bool PlatformIsLeaf() const OVERRIDE;
21
22   bool IsCheckable() const;
23   bool IsChecked() const;
24   bool IsClickable() const;
25   bool IsCollection() const;
26   bool IsCollectionItem() const;
27   bool IsContentInvalid() const;
28   bool IsDismissable() const;
29   bool IsEnabled() const;
30   bool IsFocusable() const;
31   bool IsFocused() const;
32   bool IsHeading() const;
33   bool IsHierarchical() const;
34   bool IsLink() const;
35   bool IsMultiLine() const;
36   bool IsPassword() const;
37   bool IsRangeType() const;
38   bool IsScrollable() const;
39   bool IsSelected() const;
40   bool IsVisibleToUser() const;
41
42   bool CanOpenPopup() const;
43
44   bool HasFocusableChild() const;
45
46   const char* GetClassName() const;
47   base::string16 GetText() const;
48
49   int GetItemIndex() const;
50   int GetItemCount() const;
51
52   int GetScrollX() const;
53   int GetScrollY() const;
54   int GetMaxScrollX() const;
55   int GetMaxScrollY() const;
56
57   int GetTextChangeFromIndex() const;
58   int GetTextChangeAddedCount() const;
59   int GetTextChangeRemovedCount() const;
60   base::string16 GetTextChangeBeforeText() const;
61
62   int GetSelectionStart() const;
63   int GetSelectionEnd() const;
64   int GetEditableTextLength() const;
65
66   int AndroidInputType() const;
67   int AndroidLiveRegionType() const;
68   int AndroidRangeType() const;
69
70   int RowCount() const;
71   int ColumnCount() const;
72
73   int RowIndex() const;
74   int RowSpan() const;
75   int ColumnIndex() const;
76   int ColumnSpan() const;
77
78   float RangeMin() const;
79   float RangeMax() const;
80   float RangeCurrentValue() const;
81
82  private:
83   // This gives BrowserAccessibility::Create access to the class constructor.
84   friend class BrowserAccessibility;
85
86   BrowserAccessibilityAndroid();
87
88   bool HasOnlyStaticTextChildren() const;
89   bool IsIframe() const;
90
91   void NotifyLiveRegionUpdate(base::string16& aria_live);
92
93   int CountChildrenWithRole(ui::AXRole role) const;
94
95   base::string16 cached_text_;
96   bool first_time_;
97   base::string16 old_value_;
98   base::string16 new_value_;
99
100   DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityAndroid);
101 };
102
103 }  // namespace content
104
105 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_