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

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

Issue 1251323002: Plumb smooth scrolling in Chromium compositor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 8874bd7375ea74006664616fe1e7e41e5c7d1327..94abfacf58ed4d2677e6e0602834bda06e9ea5d9 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -40,7 +40,6 @@ import android.view.inputmethod.InputConnection;
import android.webkit.GeolocationPermissions;
import android.webkit.JavascriptInterface;
import android.webkit.ValueCallback;
-import android.widget.OverScroller;
import org.chromium.android_webview.permission.AwPermissionRequest;
import org.chromium.base.CalledByNative;
@@ -188,8 +187,8 @@ public class AwContents implements SmartClipProvider,
}
public AwScrollOffsetManager createScrollOffsetManager(
- AwScrollOffsetManager.Delegate delegate, OverScroller overScroller) {
- return new AwScrollOffsetManager(delegate, overScroller);
+ AwScrollOffsetManager.Delegate delegate) {
+ return new AwScrollOffsetManager(delegate);
}
}
@@ -563,6 +562,12 @@ public class AwContents implements SmartClipProvider,
}
@Override
+ public void smoothScroll(
+ long currentMs, int targetX, int targetY, long durationMs) {
+ mContentViewCore.smoothScroll(targetX, targetY, durationMs);
+ }
+
+ @Override
public int getContainerViewScrollX() {
return mContainerView.getScrollX();
}
@@ -602,11 +607,6 @@ public class AwContents implements SmartClipProvider,
}
@Override
- public void onFlingCancelGesture() {
- mScrollOffsetManager.finishScroll();
- }
-
- @Override
public void onScrollUpdateGestureConsumed() {
mScrollAccessibilityHelper.postViewScrolledAccessibilityEventCallback();
}
@@ -706,8 +706,8 @@ public class AwContents implements SmartClipProvider,
mSettings.setDefaultVideoPosterURL(
mDefaultVideoPosterRequestHandler.getDefaultVideoPosterURL());
mSettings.setDIPScale(mDIPScale);
- mScrollOffsetManager = dependencyFactory.createScrollOffsetManager(
- new AwScrollOffsetManagerDelegate(), new OverScroller(mContext));
+ mScrollOffsetManager =
+ dependencyFactory.createScrollOffsetManager(new AwScrollOffsetManagerDelegate());
mScrollAccessibilityHelper = new ScrollAccessibilityHelper(mContainerView);
setOverScrollMode(mContainerView.getOverScrollMode());
@@ -1949,13 +1949,6 @@ public class AwContents implements SmartClipProvider,
*/
public void flingScroll(int velocityX, int velocityY) {
if (TRACE) Log.d(TAG, "flingScroll");
- // Cancel the current smooth scroll, if there is one.
- mScrollOffsetManager.finishScroll();
- // TODO(hush): crbug.com/493765. A hit test at 0, 0 may not
- // target the scroll at root scrolling layer. Instead, we
- // should add a method flingRootLayer to ContentViewCore
- // and call it here to specifically target the scroll at
- // the root layer.
mContentViewCore.flingViewport(SystemClock.uptimeMillis(), -velocityX, -velocityY);
}
@@ -2589,11 +2582,6 @@ public class AwContents implements SmartClipProvider,
}
@CalledByNative
- public boolean isSmoothScrollingActive() {
- return mScrollOffsetManager.isSmoothScrollingActive();
- }
-
- @CalledByNative
private void updateScrollState(int maxContainerViewScrollOffsetX,
int maxContainerViewScrollOffsetY, int contentWidthDip, int contentHeightDip,
float pageScaleFactor, float minPageScaleFactor, float maxPageScaleFactor) {
@@ -3036,13 +3024,8 @@ public class AwContents implements SmartClipProvider,
@Override
public void computeScroll() {
- if (mScrollOffsetManager.isSmoothScrollingActive()) {
- mScrollOffsetManager.computeScrollAndAbsorbGlow(mOverScrollGlow);
- } else {
- if (isDestroyed()) return;
- nativeOnComputeScroll(
- mNativeAwContents, AnimationUtils.currentAnimationTimeMillis());
- }
+ if (isDestroyed()) return;
+ nativeOnComputeScroll(mNativeAwContents, AnimationUtils.currentAnimationTimeMillis());
}
}

Powered by Google App Engine
This is Rietveld 408576698