| Index: content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java
|
| index 68b02453d1f7c006dde3fff9f04a872ba8752fea..914b80ace6f5aa1a05f8ede57edf25ca7c5b7cd6 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java
|
| @@ -4,7 +4,6 @@
|
|
|
| package org.chromium.content.browser.accessibility;
|
|
|
| -import android.annotation.TargetApi;
|
| import android.content.Context;
|
| import android.graphics.Rect;
|
| import android.os.Build;
|
| @@ -32,14 +31,8 @@ import java.util.Locale;
|
|
|
| /**
|
| * Native accessibility for a {@link ContentViewCore}.
|
| - *
|
| - * This class is safe to load on ICS and can be used to run tests, but
|
| - * only the subclass, JellyBeanBrowserAccessibilityManager, actually
|
| - * has a AccessibilityNodeProvider implementation needed for native
|
| - * accessibility.
|
| */
|
| @JNINamespace("content")
|
| -@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
|
| public class BrowserAccessibilityManager {
|
| private static final String TAG = "BrowserAccessibilityManager";
|
|
|
| @@ -48,6 +41,7 @@ public class BrowserAccessibilityManager {
|
| private static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE =
|
| "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE";
|
|
|
| + private final AccessibilityNodeProvider mAccessibilityNodeProvider;
|
| private ContentViewCore mContentViewCore;
|
| private final AccessibilityManager mAccessibilityManager;
|
| private final RenderCoordinates mRenderCoordinates;
|
| @@ -80,9 +74,6 @@ public class BrowserAccessibilityManager {
|
| if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
| return new LollipopBrowserAccessibilityManager(
|
| nativeBrowserAccessibilityManagerAndroid, contentViewCore);
|
| - } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
|
| - return new JellyBeanBrowserAccessibilityManager(
|
| - nativeBrowserAccessibilityManagerAndroid, contentViewCore);
|
| } else {
|
| return new BrowserAccessibilityManager(
|
| nativeBrowserAccessibilityManagerAndroid, contentViewCore);
|
| @@ -102,6 +93,25 @@ public class BrowserAccessibilityManager {
|
| mAccessibilityManager =
|
| (AccessibilityManager) mContentViewCore.getContext()
|
| .getSystemService(Context.ACCESSIBILITY_SERVICE);
|
| +
|
| + final BrowserAccessibilityManager delegate = this;
|
| + mAccessibilityNodeProvider = new AccessibilityNodeProvider() {
|
| + @Override
|
| + public AccessibilityNodeInfo createAccessibilityNodeInfo(int virtualViewId) {
|
| + return delegate.createAccessibilityNodeInfo(virtualViewId);
|
| + }
|
| +
|
| + @Override
|
| + public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByText(String text,
|
| + int virtualViewId) {
|
| + return delegate.findAccessibilityNodeInfosByText(text, virtualViewId);
|
| + }
|
| +
|
| + @Override
|
| + public boolean performAction(int virtualViewId, int action, Bundle arguments) {
|
| + return delegate.performAction(virtualViewId, action, arguments);
|
| + }
|
| + };
|
| }
|
|
|
| @CalledByNative
|
| @@ -114,10 +124,10 @@ public class BrowserAccessibilityManager {
|
| }
|
|
|
| /**
|
| - * @return An AccessibilityNodeProvider on JellyBean, and null on previous versions.
|
| + * @return An AccessibilityNodeProvider.
|
| */
|
| public AccessibilityNodeProvider getAccessibilityNodeProvider() {
|
| - return null;
|
| + return mAccessibilityNodeProvider;
|
| }
|
|
|
| /**
|
|
|