| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_ |
| #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_ |
| |
| #include "base/android/scoped_java_ref.h" |
| #include "content/browser/accessibility/browser_accessibility.h" |
| |
| namespace content { |
| |
| class CONTENT_EXPORT BrowserAccessibilityAndroid : public BrowserAccessibility { |
| public: |
| // Overrides from BrowserAccessibility. |
| void OnDataChanged() override; |
| bool IsNative() const override; |
| void OnLocationChanged() override; |
| |
| bool PlatformIsLeaf() const override; |
| |
| bool CanScrollForward() const; |
| bool CanScrollBackward() const; |
| bool IsCheckable() const; |
| bool IsChecked() const; |
| bool IsClickable() const; |
| bool IsCollection() const; |
| bool IsCollectionItem() const; |
| bool IsContentInvalid() const; |
| bool IsDismissable() const; |
| bool IsEditableText() const; |
| bool IsEnabled() const; |
| bool IsFocusable() const; |
| bool IsFocused() const; |
| bool IsHeading() const; |
| bool IsHierarchical() const; |
| bool IsLink() const; |
| bool IsMultiLine() const; |
| bool IsPassword() const; |
| bool IsRangeType() const; |
| bool IsScrollable() const; |
| bool IsSelected() const; |
| bool IsSlider() const; |
| bool IsVisibleToUser() const; |
| |
| bool CanOpenPopup() const; |
| |
| bool HasFocusableChild() const; |
| |
| const char* GetClassName() const; |
| base::string16 GetText() const; |
| |
| int GetItemIndex() const; |
| int GetItemCount() const; |
| |
| int GetScrollX() const; |
| int GetScrollY() const; |
| int GetMaxScrollX() const; |
| int GetMaxScrollY() const; |
| |
| int GetTextChangeFromIndex() const; |
| int GetTextChangeAddedCount() const; |
| int GetTextChangeRemovedCount() const; |
| base::string16 GetTextChangeBeforeText() const; |
| |
| int GetSelectionStart() const; |
| int GetSelectionEnd() const; |
| int GetEditableTextLength() const; |
| |
| int AndroidInputType() const; |
| int AndroidLiveRegionType() const; |
| int AndroidRangeType() const; |
| |
| int RowCount() const; |
| int ColumnCount() const; |
| |
| int RowIndex() const; |
| int RowSpan() const; |
| int ColumnIndex() const; |
| int ColumnSpan() const; |
| |
| float RangeMin() const; |
| float RangeMax() const; |
| float RangeCurrentValue() const; |
| |
| // Calls GetLineBoundaries or GetWordBoundaries depending on the value |
| // of |granularity|, or fails if anything else is passed in |granularity|. |
| void GetGranularityBoundaries(int granularity, |
| std::vector<int32>* starts, |
| std::vector<int32>* ends, |
| int offset); |
| |
| // Append line start and end indices for the text of this node |
| // (as returned by GetText()), adding |offset| to each one. |
| void GetLineBoundaries(std::vector<int32>* line_starts, |
| std::vector<int32>* line_ends, |
| int offset); |
| |
| // Append word start and end indices for the text of this node |
| // (as returned by GetText()) to |word_starts| and |word_ends|, |
| // adding |offset| to each one. |
| void GetWordBoundaries(std::vector<int32>* word_starts, |
| std::vector<int32>* word_ends, |
| int offset); |
| |
| private: |
| // This gives BrowserAccessibility::Create access to the class constructor. |
| friend class BrowserAccessibility; |
| |
| BrowserAccessibilityAndroid(); |
| |
| bool HasOnlyStaticTextChildren() const; |
| bool HasOnlyTextAndImageChildren() const; |
| bool IsIframe() const; |
| |
| void NotifyLiveRegionUpdate(base::string16& aria_live); |
| |
| int CountChildrenWithRole(ui::AXRole role) const; |
| |
| base::string16 cached_text_; |
| bool first_time_; |
| base::string16 old_value_; |
| base::string16 new_value_; |
| |
| DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityAndroid); |
| }; |
| |
| } // namespace content |
| |
| #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_ANDROID_H_ |