Index: content/public/android/java/src/org/chromium/content/browser/ContentView.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentView.java b/content/public/android/java/src/org/chromium/content/browser/ContentView.java |
index 63761a6994c9b3275126b8bf869cac1c1b837fc0..33a7c2c76b7c4b28365a558dc3939ec444a7ef89 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/ContentView.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentView.java |
@@ -8,7 +8,6 @@ import android.content.Context; |
import android.content.res.Configuration; |
import android.graphics.Canvas; |
import android.graphics.Rect; |
-import android.os.Build; |
import android.os.Bundle; |
import android.os.Handler; |
import android.os.Message; |
@@ -16,8 +15,7 @@ import android.util.Log; |
import android.view.KeyEvent; |
import android.view.MotionEvent; |
import android.view.View; |
-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.FrameLayout; |
@@ -40,17 +38,8 @@ public class ContentView extends FrameLayout |
* @param context The Context the view is running in, through which it can |
* access the current theme, resources, etc. |
* @param cvc A pointer to the content view core managing this content view. |
- * @return A ContentView instance. |
*/ |
- public static ContentView newInstance(Context context, ContentViewCore cvc) { |
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { |
- return new ContentView(context, cvc); |
- } else { |
- return new JellyBeanContentView(context, cvc); |
- } |
- } |
- |
- protected ContentView(Context context, ContentViewCore cvc) { |
+ public ContentView(Context context, ContentViewCore cvc) { |
super(context, null, android.R.attr.webViewStyle); |
if (getScrollBarStyle() == View.SCROLLBARS_INSIDE_OVERLAY) { |
@@ -64,6 +53,25 @@ public class ContentView extends FrameLayout |
mContentViewCore = cvc; |
} |
+ @Override |
+ public boolean performAccessibilityAction(int action, Bundle arguments) { |
+ if (mContentViewCore.supportsAccessibilityAction(action)) { |
+ return mContentViewCore.performAccessibilityAction(action, arguments); |
+ } |
+ |
+ return super.performAccessibilityAction(action, arguments); |
+ } |
+ |
+ @Override |
+ public AccessibilityNodeProvider getAccessibilityNodeProvider() { |
+ AccessibilityNodeProvider provider = mContentViewCore.getAccessibilityNodeProvider(); |
+ if (provider != null) { |
+ return provider; |
+ } else { |
+ return super.getAccessibilityNodeProvider(); |
+ } |
+ } |
+ |
// Needed by ContentViewCore.InternalAccessDelegate |
@Override |
public boolean drawChild(Canvas canvas, View child, long drawingTime) { |
@@ -226,22 +234,6 @@ public class ContentView extends FrameLayout |
} |
@Override |
- public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) { |
- super.onInitializeAccessibilityNodeInfo(info); |
- mContentViewCore.onInitializeAccessibilityNodeInfo(info); |
- } |
- |
- /** |
- * Fills in scrolling values for AccessibilityEvents. |
- * @param event Event being fired. |
- */ |
- @Override |
- public void onInitializeAccessibilityEvent(AccessibilityEvent event) { |
- super.onInitializeAccessibilityEvent(event); |
- mContentViewCore.onInitializeAccessibilityEvent(event); |
- } |
- |
- @Override |
protected void onAttachedToWindow() { |
super.onAttachedToWindow(); |
mContentViewCore.onAttachedToWindow(); |
@@ -273,6 +265,7 @@ public class ContentView extends FrameLayout |
return; |
} |
mContentViewCore.setSmartClipDataListener(new ContentViewCore.SmartClipDataListener() { |
+ @Override |
public void onSmartClipDataExtracted(String text, String html, Rect clipRect) { |
Bundle bundle = new Bundle(); |
bundle.putString("url", mContentViewCore.getWebContents().getVisibleUrl()); |