// 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 BrowserAccessibilityAndroid : public BrowserAccessibility { public: // Overrides from BrowserAccessibility. virtual void PostInitialize() OVERRIDE; virtual bool IsNative() const OVERRIDE; virtual bool PlatformIsLeaf() const OVERRIDE; bool IsCheckable() const; bool IsChecked() const; bool IsClickable() const; bool IsCollection() const; bool IsCollectionItem() const; bool IsContentInvalid() const; bool IsDismissable() const; bool IsEnabled() const; bool IsFocusable() const; bool IsFocused() const; bool IsHeading() const; bool IsHierarchical() const; bool IsMultiLine() const; bool IsPassword() const; bool IsRangeType() const; bool IsScrollable() const; bool IsSelected() const; bool IsVisibleToUser() const; bool CanOpenPopup() 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; private: // This gives BrowserAccessibility::Create access to the class constructor. friend class BrowserAccessibility; BrowserAccessibilityAndroid(); bool HasFocusableChild() const; bool HasOnlyStaticTextChildren() const; bool IsIframe() const; void NotifyLiveRegionUpdate(base::string16& aria_live); int CountChildrenWithRole(blink::WebAXRole 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_