| 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() {
|
|
|