summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2013-06-05 14:19:48 +0100
committerBen Murdoch <benm@google.com>2013-06-24 23:57:06 +0100
commit150cf1c15b23bb30be8b7267a5e8bc326d0f50cc (patch)
treeedd39e4ccd6a927145b6baea218171bcea9cc6cb /core/java/android/webkit
parent3f43c4e642ad75596e03f98fc596c0254b2e1e0c (diff)
downloadframeworks_base-150cf1c15b23bb30be8b7267a5e8bc326d0f50cc.zip
frameworks_base-150cf1c15b23bb30be8b7267a5e8bc326d0f50cc.tar.gz
frameworks_base-150cf1c15b23bb30be8b7267a5e8bc326d0f50cc.tar.bz2
Plumb View.getAccessibilityNodeProvider though WebViewProvider.
This is needed to make use of the new Accessibility implementation in the Chromium WebView. nos for WebView Classic. Change-Id: I8e26035d15af494e4caa50b4c6c7cb4ac8efeb9e
Diffstat (limited to 'core/java/android/webkit')
-rw-r--r--core/java/android/webkit/WebView.java8
-rw-r--r--core/java/android/webkit/WebViewClassic.java6
-rw-r--r--core/java/android/webkit/WebViewProvider.java3
3 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 4998742..0149f03 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -41,6 +41,7 @@ import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
+import android.view.accessibility.AccessibilityNodeProvider;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.widget.AbsoluteLayout;
@@ -2051,6 +2052,13 @@ public class WebView extends AbsoluteLayout
}
*/
+ @Override
+ public AccessibilityNodeProvider getAccessibilityNodeProvider() {
+ AccessibilityNodeProvider provider =
+ mProvider.getViewDelegate().getAccessibilityNodeProvider();
+ return provider == null ? super.getAccessibilityNodeProvider() : provider;
+ }
+
@Deprecated
@Override
public boolean shouldDelayChildPressedState() {
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index 3afab09..5a9e6c9 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -90,6 +90,7 @@ import android.view.ViewRootImpl;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
+import android.view.accessibility.AccessibilityNodeProvider;
import android.view.inputmethod.BaseInputConnection;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
@@ -1769,6 +1770,11 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
}
@Override
+ public AccessibilityNodeProvider getAccessibilityNodeProvider() {
+ return null;
+ }
+
+ @Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
if (!mWebView.isEnabled()) {
// Only default actions are supported while disabled.
diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java
index fa17ab9..41d6333 100644
--- a/core/java/android/webkit/WebViewProvider.java
+++ b/core/java/android/webkit/WebViewProvider.java
@@ -32,6 +32,7 @@ import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
+import android.view.accessibility.AccessibilityNodeProvider;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.webkit.WebView.HitTestResult;
@@ -279,6 +280,8 @@ public interface WebViewProvider {
interface ViewDelegate {
public boolean shouldDelayChildPressedState();
+ public AccessibilityNodeProvider getAccessibilityNodeProvider();
+
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info);
public void onInitializeAccessibilityEvent(AccessibilityEvent event);