Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2768)

Unified Diff: android_webview/java/src/org/chromium/android_webview/AwContents.java

Issue 1923613002: Fix a nasty scroll bug for Chrome Now-on-tap feature. Also combine the code paths for Android Webvi… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/java/src/org/chromium/android_webview/AwContents.java
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
index e932149ae1c0c578d7fba3208bc27f56fbbf0785..aee2add6d1e43ccc86c9d2f6022ee7bcf5093161 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -5,6 +5,7 @@
package org.chromium.android_webview;
import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
import android.app.Activity;
import android.content.ComponentCallbacks2;
import android.content.Context;
@@ -32,6 +33,7 @@ import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewStructure;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeProvider;
@@ -58,7 +60,6 @@ import org.chromium.content.browser.ContentViewCore;
import org.chromium.content.browser.ContentViewStatics;
import org.chromium.content.browser.SmartClipProvider;
import org.chromium.content.common.CleanupReference;
-import org.chromium.content_public.browser.AccessibilitySnapshotCallback;
import org.chromium.content_public.browser.GestureStateListener;
import org.chromium.content_public.browser.JavaScriptCallback;
import org.chromium.content_public.browser.LoadUrlParams;
@@ -2225,13 +2226,17 @@ public class AwContents implements SmartClipProvider,
return mWebContents.hasAccessedInitialDocument();
}
- public void requestAccessibilitySnapshot(AccessibilitySnapshotCallback callback) {
+ @TargetApi(Build.VERSION_CODES.M)
+ public void onProvideVirtualStructure(ViewStructure structure) {
if (isDestroyed(WARN)) return;
if (!mWebContentsObserver.didEverCommitNavigation()) {
- callback.onAccessibilitySnapshot(null);
+ // TODO(sgurun) write a test case for this condition crbug/605251
+ structure.setChildCount(0);
return;
}
- mWebContents.requestAccessibilitySnapshot(callback, 0, 0);
+ // for webview, the platform already calculates the scroll (as it is a view) in
+ // ViewStructure tree. Do not offset for it in the snapshop x,y position calculations.
+ mContentViewCore.onProvideVirtualStructure(structure, true);
}
public boolean isSelectActionModeAllowed(int actionModeItem) {

Powered by Google App Engine
This is Rietveld 408576698