Loading core/java/android/webkit/WebViewCore.java +3 −0 Original line number Diff line number Diff line Loading @@ -2528,6 +2528,9 @@ public final class WebViewCore { adjust = (float) mContext.getResources().getDisplayMetrics().densityDpi / mViewportDensityDpi; } // We make bad assumptions about multiplying and dividing by 100, force // them to be true with this hack adjust = ((int) (adjust * 100)) / 100.0f; // Remove any update density messages in flight. // If the density is indeed different from WebView's default scale, // a new message will be queued. Loading core/java/android/webkit/ZoomManager.java +13 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,7 @@ class ZoomManager { if (!exceedsMinScaleIncrement(mMinZoomScale, mMaxZoomScale)) { mMaxZoomScale = mMinZoomScale; } sanitizeMinMaxScales(); } public final float getScale() { Loading Loading @@ -909,6 +910,14 @@ class ZoomManager { } } private void sanitizeMinMaxScales() { if (mMinZoomScale > mMaxZoomScale) { Log.w(LOGTAG, "mMinZoom > mMaxZoom!!! " + mMinZoomScale + " > " + mMaxZoomScale, new Exception()); mMaxZoomScale = mMinZoomScale; } } public void onSizeChanged(int w, int h, int ow, int oh) { // reset zoom and anchor to the top left corner of the screen // unless we are already zooming Loading @@ -933,6 +942,7 @@ class ZoomManager { if (mInitialScale > 0 && mInitialScale < mMinZoomScale) { mMinZoomScale = mInitialScale; } sanitizeMinMaxScales(); } dismissZoomPicker(); Loading Loading @@ -1004,6 +1014,7 @@ class ZoomManager { } else { mMaxZoomScale = viewState.mMaxScale; } sanitizeMinMaxScales(); } /** Loading Loading @@ -1033,6 +1044,7 @@ class ZoomManager { if (!mMinZoomScaleFixed || settings.getUseWideViewPort()) { mMinZoomScale = newZoomOverviewScale; mMaxZoomScale = Math.max(mMaxZoomScale, mMinZoomScale); sanitizeMinMaxScales(); } // fit the content width to the current view for the first new picture // after first layout. Loading Loading @@ -1113,6 +1125,7 @@ class ZoomManager { mMinZoomScale = (mInitialScale > 0) ? Math.min(mInitialScale, overviewScale) : overviewScale; mMaxZoomScale = Math.max(mMaxZoomScale, mMinZoomScale); sanitizeMinMaxScales(); } if (!mWebView.drawHistory()) { Loading Loading
core/java/android/webkit/WebViewCore.java +3 −0 Original line number Diff line number Diff line Loading @@ -2528,6 +2528,9 @@ public final class WebViewCore { adjust = (float) mContext.getResources().getDisplayMetrics().densityDpi / mViewportDensityDpi; } // We make bad assumptions about multiplying and dividing by 100, force // them to be true with this hack adjust = ((int) (adjust * 100)) / 100.0f; // Remove any update density messages in flight. // If the density is indeed different from WebView's default scale, // a new message will be queued. Loading
core/java/android/webkit/ZoomManager.java +13 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,7 @@ class ZoomManager { if (!exceedsMinScaleIncrement(mMinZoomScale, mMaxZoomScale)) { mMaxZoomScale = mMinZoomScale; } sanitizeMinMaxScales(); } public final float getScale() { Loading Loading @@ -909,6 +910,14 @@ class ZoomManager { } } private void sanitizeMinMaxScales() { if (mMinZoomScale > mMaxZoomScale) { Log.w(LOGTAG, "mMinZoom > mMaxZoom!!! " + mMinZoomScale + " > " + mMaxZoomScale, new Exception()); mMaxZoomScale = mMinZoomScale; } } public void onSizeChanged(int w, int h, int ow, int oh) { // reset zoom and anchor to the top left corner of the screen // unless we are already zooming Loading @@ -933,6 +942,7 @@ class ZoomManager { if (mInitialScale > 0 && mInitialScale < mMinZoomScale) { mMinZoomScale = mInitialScale; } sanitizeMinMaxScales(); } dismissZoomPicker(); Loading Loading @@ -1004,6 +1014,7 @@ class ZoomManager { } else { mMaxZoomScale = viewState.mMaxScale; } sanitizeMinMaxScales(); } /** Loading Loading @@ -1033,6 +1044,7 @@ class ZoomManager { if (!mMinZoomScaleFixed || settings.getUseWideViewPort()) { mMinZoomScale = newZoomOverviewScale; mMaxZoomScale = Math.max(mMaxZoomScale, mMinZoomScale); sanitizeMinMaxScales(); } // fit the content width to the current view for the first new picture // after first layout. Loading Loading @@ -1113,6 +1125,7 @@ class ZoomManager { mMinZoomScale = (mInitialScale > 0) ? Math.min(mInitialScale, overviewScale) : overviewScale; mMaxZoomScale = Math.max(mMaxZoomScale, mMinZoomScale); sanitizeMinMaxScales(); } if (!mWebView.drawHistory()) { Loading