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

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

Issue 256303006: Make LayerScrollOffsetDelegate updates consistent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix build break Created 6 years, 7 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 6d57961b5dd4f511d458b3bb45cfa9d0e50aead3..6797c2761ff80616b95524c9e3e69458a9a6cfda 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -1932,11 +1932,6 @@ public class AwContents {
}
@CalledByNative
- private void setMaxContainerViewScrollOffset(int maxX, int maxY) {
- mScrollOffsetManager.setMaxScrollOffset(maxX, maxY);
- }
-
- @CalledByNative
private void scrollContainerViewTo(int x, int y) {
mScrollOffsetManager.scrollContainerViewTo(x, y);
}
@@ -1947,31 +1942,14 @@ public class AwContents {
}
@CalledByNative
- private void setContentsSize(int widthDip, int heightDip) {
- mContentWidthDip = widthDip;
- mContentHeightDip = heightDip;
- }
-
- @CalledByNative
- private void setPageScaleFactorAndLimits(
+ private void updateScrollState(int maxContainerViewScrollOffsetX,
+ int maxContainerViewScrollOffsetY, int contentWidthDip, int contentHeightDip,
float pageScaleFactor, float minPageScaleFactor, float maxPageScaleFactor) {
- if (mPageScaleFactor == pageScaleFactor &&
- mMinPageScaleFactor == minPageScaleFactor &&
- mMaxPageScaleFactor == maxPageScaleFactor) {
- return;
- }
- mMinPageScaleFactor = minPageScaleFactor;
- mMaxPageScaleFactor = maxPageScaleFactor;
- if (mPageScaleFactor != pageScaleFactor) {
- float oldPageScaleFactor = mPageScaleFactor;
- mPageScaleFactor = pageScaleFactor;
- // NOTE: if this ever needs to become synchronous then we need to make sure the scroll
- // bounds are correctly updated before calling the method, otherwise embedder code that
- // attempts to scroll on scale change might cause weird results.
- mContentsClient.getCallbackHelper().postOnScaleChangedScaled(
- (float)(oldPageScaleFactor * mDIPScale),
- (float)(mPageScaleFactor * mDIPScale));
- }
+ mContentWidthDip = contentWidthDip;
+ mContentHeightDip = contentHeightDip;
+ mScrollOffsetManager.setMaxScrollOffset(maxContainerViewScrollOffsetX,
+ maxContainerViewScrollOffsetY);
+ setPageScaleFactorAndLimits(pageScaleFactor, minPageScaleFactor, maxPageScaleFactor);
}
@CalledByNative
@@ -1997,6 +1975,27 @@ public class AwContents {
// Helper methods
// -------------------------------------------------------------------------------------------
+ private void setPageScaleFactorAndLimits(
+ float pageScaleFactor, float minPageScaleFactor, float maxPageScaleFactor) {
+ if (mPageScaleFactor == pageScaleFactor &&
+ mMinPageScaleFactor == minPageScaleFactor &&
+ mMaxPageScaleFactor == maxPageScaleFactor) {
+ return;
+ }
+ mMinPageScaleFactor = minPageScaleFactor;
+ mMaxPageScaleFactor = maxPageScaleFactor;
+ if (mPageScaleFactor != pageScaleFactor) {
+ float oldPageScaleFactor = mPageScaleFactor;
+ mPageScaleFactor = pageScaleFactor;
+ // NOTE: if this ever needs to become synchronous then we need to make sure the scroll
+ // bounds are correctly updated before calling the method, otherwise embedder code that
+ // attempts to scroll on scale change might cause weird results.
+ mContentsClient.getCallbackHelper().postOnScaleChangedScaled(
+ (float)(oldPageScaleFactor * mDIPScale),
+ (float)(mPageScaleFactor * mDIPScale));
+ }
+ }
+
private void saveWebArchiveInternal(String path, final ValueCallback<String> callback) {
if (path == null || mNativeAwContents == 0) {
ThreadUtils.runOnUiThread(new Runnable() {

Powered by Google App Engine
This is Rietveld 408576698