blob: 06bf18c693bb01152e1c4644351a1959eb5d4e4f [file] [log] [blame]
// 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.
package org.chromium.content.browser.accessibility;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import org.chromium.base.JNINamespace;
import org.chromium.content.browser.ContentViewCore;
/**
* Subclass of BrowserAccessibilityManager for KitKat that creates an
* AccessibilityNodeProvider and delegates its implementation to this object.
*
* THIS CLASS IS NOT USED! A bug in the KitKat framework prevents us
* from using these new APIs. We can re-enable this class after the next
* Android system update. http://crbug.com/348088/
*/
@JNINamespace("content")
public class KitKatBrowserAccessibilityManager extends JellyBeanBrowserAccessibilityManager {
KitKatBrowserAccessibilityManager(long nativeBrowserAccessibilityManagerAndroid,
ContentViewCore contentViewCore) {
super(nativeBrowserAccessibilityManagerAndroid, contentViewCore);
}
@Override
protected void setAccessibilityNodeInfoKitKatAttributes(AccessibilityNodeInfo node,
boolean canOpenPopup,
boolean contentInvalid,
boolean dismissable,
boolean multiLine,
int inputType,
int liveRegion) {
node.setCanOpenPopup(canOpenPopup);
node.setContentInvalid(contentInvalid);
node.setDismissable(contentInvalid);
node.setMultiLine(multiLine);
node.setInputType(inputType);
node.setLiveRegion(liveRegion);
}
@Override
protected void setAccessibilityNodeInfoCollectionInfo(AccessibilityNodeInfo node,
int rowCount, int columnCount, boolean hierarchical) {
node.setCollectionInfo(AccessibilityNodeInfo.CollectionInfo.obtain(
rowCount, columnCount, hierarchical));
}
@Override
protected void setAccessibilityNodeInfoCollectionItemInfo(AccessibilityNodeInfo node,
int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading) {
node.setCollectionItemInfo(AccessibilityNodeInfo.CollectionItemInfo.obtain(
rowIndex, rowSpan, columnIndex, columnSpan, heading));
}
@Override
protected void setAccessibilityNodeInfoRangeInfo(AccessibilityNodeInfo node,
int rangeType, float min, float max, float current) {
node.setRangeInfo(AccessibilityNodeInfo.RangeInfo.obtain(
rangeType, min, max, current));
}
@Override
protected void setAccessibilityEventKitKatAttributes(AccessibilityEvent event,
boolean canOpenPopup,
boolean contentInvalid,
boolean dismissable,
boolean multiLine,
int inputType,
int liveRegion) {
// This is just a fallback for pre-KitKat systems.
// Do nothing on KitKat and higher.
}
@Override
protected void setAccessibilityEventCollectionInfo(AccessibilityEvent event,
int rowCount, int columnCount, boolean hierarchical) {
// This is just a fallback for pre-KitKat systems.
// Do nothing on KitKat and higher.
}
@Override
protected void setAccessibilityEventHeadingFlag(AccessibilityEvent event,
boolean heading) {
// This is just a fallback for pre-KitKat systems.
// Do nothing on KitKat and higher.
}
@Override
protected void setAccessibilityEventCollectionItemInfo(AccessibilityEvent event,
int rowIndex, int rowSpan, int columnIndex, int columnSpan) {
// This is just a fallback for pre-KitKat systems.
// Do nothing on KitKat and higher.
}
@Override
protected void setAccessibilityEventRangeInfo(AccessibilityEvent event,
int rangeType, float min, float max, float current) {
// This is just a fallback for pre-KitKat systems.
// Do nothing on KitKat and higher.
}
}