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: I96bd2426d2de3b26dc9b72d0fdbacefa9bbe20f7
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
@@ -1768,6 +1769,11 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
|
||||
return mWebViewPrivate.super_performAccessibilityAction(action, arguments);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccessibilityNodeProvider getAccessibilityNodeProvider() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
|
||||
if (!mWebView.isEnabled()) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user