diff options
| author | 2013-06-05 14:19:48 +0100 | |
|---|---|---|
| committer | 2013-06-24 23:57:06 +0100 | |
| commit | 150cf1c15b23bb30be8b7267a5e8bc326d0f50cc (patch) | |
| tree | edd39e4ccd6a927145b6baea218171bcea9cc6cb | |
| parent | 3f43c4e642ad75596e03f98fc596c0254b2e1e0c (diff) | |
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
| -rw-r--r-- | core/java/android/webkit/WebView.java | 8 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewClassic.java | 6 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewProvider.java | 3 | 
3 files changed, 17 insertions, 0 deletions
| diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 49987428ceef..0149f033fc42 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 3afab0982078..5a9e6c97813b 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 fa17ab9626d6..41d63338d2f8 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); |