Loading core/java/android/webkit/ZoomManager.java +13 −25 Original line number Diff line number Diff line Loading @@ -227,10 +227,13 @@ class ZoomManager { assert density > 0; if (Math.abs(density - mDefaultScale) > MINIMUM_SCALE_INCREMENT) { // Remember the current zoom density before it gets changed. final float originalDefault = mDefaultScale; // set the new default density setDefaultZoomScale(density); float scaleChange = (originalDefault > 0.0) ? density / originalDefault: 1.0f; // adjust the scale if it falls outside the new zoom bounds setZoomScale(mActualScale, true); setZoomScale(mActualScale * scaleChange, true); } } Loading Loading @@ -721,10 +724,7 @@ class ZoomManager { } public boolean onScale(ScaleGestureDetector detector) { // Prevent scaling beyond overview scale. float scale = Math.max( computeScaleWithLimits(detector.getScaleFactor() * mActualScale), getZoomOverviewScale()); float scale = computeScaleWithLimits(detector.getScaleFactor() * mActualScale); if (mPinchToZoomAnimating || willScaleTriggerZoom(scale)) { mPinchToZoomAnimating = true; // limit the scale change per step Loading Loading @@ -780,13 +780,6 @@ class ZoomManager { // update mMinZoomScale if the minimum zoom scale is not fixed if (!mMinZoomScaleFixed) { // when change from narrow screen to wide screen, the new viewWidth // can be wider than the old content width. We limit the minimum // scale to 1.0f. The proper minimum scale will be calculated when // the new picture shows up. mMinZoomScale = Math.min(1.0f, (float) mWebView.getViewWidth() / (mWebView.drawHistory() ? mWebView.getHistoryPictureWidth() : mZoomOverviewWidth)); // limit the minZoomScale to the initialScale if it is set if (mInitialScale > 0 && mInitialScale < mMinZoomScale) { mMinZoomScale = mInitialScale; Loading Loading @@ -823,7 +816,7 @@ class ZoomManager { // Keep overview mode unchanged when rotating. final float zoomOverviewScale = getZoomOverviewScale(); final float newScale = (mInZoomOverviewBeforeSizeChange) ? zoomOverviewScale : Math.max(mActualScale, zoomOverviewScale); zoomOverviewScale : mActualScale; setZoomScale(newScale, mUpdateTextWrap, true); // update the zoom buttons as the scale can be changed updateZoomPicker(); Loading Loading @@ -879,21 +872,15 @@ class ZoomManager { } } if (!mMinZoomScaleFixed) { mMinZoomScale = newZoomOverviewScale; } // fit the content width to the current view for the first new picture // after first layout. boolean scaleHasDiff = exceedsMinScaleIncrement(newZoomOverviewScale, mActualScale); // Make sure the actual scale is no less than zoom overview scale. boolean scaleLessThanOverview = (newZoomOverviewScale - mActualScale) >= MINIMUM_SCALE_INCREMENT; // Make sure mobile sites are correctly handled since mobile site will // change content width after rotating. boolean mobileSiteInOverview = mInZoomOverview && !exceedsMinScaleIncrement(newZoomOverviewScale, 1.0f); if (!mWebView.drawHistory() && (mInitialZoomOverview || scaleLessThanOverview || mobileSiteInOverview) && (mInitialZoomOverview || mobileSiteInOverview) && scaleHasDiff && zoomOverviewWidthChanged) { mInitialZoomOverview = false; setZoomScale(newZoomOverviewScale, !willScaleTriggerZoom(mTextWrapScale) && Loading Loading @@ -967,10 +954,11 @@ class ZoomManager { mTextWrapScale = viewState.mTextWrapScale; scale = viewState.mViewScale; } else { scale = overviewScale; if (!settings.getUseWideViewPort() || !settings.getLoadWithOverviewMode()) { scale = Math.max(viewState.mTextWrapScale, scale); scale = mDefaultScale; mTextWrapScale = mDefaultScale; if (settings.getUseWideViewPort() && settings.getLoadWithOverviewMode()) { scale = Math.max(overviewScale, scale); } if (settings.isNarrowColumnLayout() && settings.getUseFixedViewport()) { Loading @@ -981,7 +969,7 @@ class ZoomManager { } boolean reflowText = false; if (!viewState.mIsRestored) { if (settings.getUseFixedViewport()) { if (settings.getUseFixedViewport() && settings.getLoadWithOverviewMode()) { // Override the scale only in case of fixed viewport. scale = Math.max(scale, overviewScale); mTextWrapScale = Math.max(mTextWrapScale, overviewScale); Loading Loading
core/java/android/webkit/ZoomManager.java +13 −25 Original line number Diff line number Diff line Loading @@ -227,10 +227,13 @@ class ZoomManager { assert density > 0; if (Math.abs(density - mDefaultScale) > MINIMUM_SCALE_INCREMENT) { // Remember the current zoom density before it gets changed. final float originalDefault = mDefaultScale; // set the new default density setDefaultZoomScale(density); float scaleChange = (originalDefault > 0.0) ? density / originalDefault: 1.0f; // adjust the scale if it falls outside the new zoom bounds setZoomScale(mActualScale, true); setZoomScale(mActualScale * scaleChange, true); } } Loading Loading @@ -721,10 +724,7 @@ class ZoomManager { } public boolean onScale(ScaleGestureDetector detector) { // Prevent scaling beyond overview scale. float scale = Math.max( computeScaleWithLimits(detector.getScaleFactor() * mActualScale), getZoomOverviewScale()); float scale = computeScaleWithLimits(detector.getScaleFactor() * mActualScale); if (mPinchToZoomAnimating || willScaleTriggerZoom(scale)) { mPinchToZoomAnimating = true; // limit the scale change per step Loading Loading @@ -780,13 +780,6 @@ class ZoomManager { // update mMinZoomScale if the minimum zoom scale is not fixed if (!mMinZoomScaleFixed) { // when change from narrow screen to wide screen, the new viewWidth // can be wider than the old content width. We limit the minimum // scale to 1.0f. The proper minimum scale will be calculated when // the new picture shows up. mMinZoomScale = Math.min(1.0f, (float) mWebView.getViewWidth() / (mWebView.drawHistory() ? mWebView.getHistoryPictureWidth() : mZoomOverviewWidth)); // limit the minZoomScale to the initialScale if it is set if (mInitialScale > 0 && mInitialScale < mMinZoomScale) { mMinZoomScale = mInitialScale; Loading Loading @@ -823,7 +816,7 @@ class ZoomManager { // Keep overview mode unchanged when rotating. final float zoomOverviewScale = getZoomOverviewScale(); final float newScale = (mInZoomOverviewBeforeSizeChange) ? zoomOverviewScale : Math.max(mActualScale, zoomOverviewScale); zoomOverviewScale : mActualScale; setZoomScale(newScale, mUpdateTextWrap, true); // update the zoom buttons as the scale can be changed updateZoomPicker(); Loading Loading @@ -879,21 +872,15 @@ class ZoomManager { } } if (!mMinZoomScaleFixed) { mMinZoomScale = newZoomOverviewScale; } // fit the content width to the current view for the first new picture // after first layout. boolean scaleHasDiff = exceedsMinScaleIncrement(newZoomOverviewScale, mActualScale); // Make sure the actual scale is no less than zoom overview scale. boolean scaleLessThanOverview = (newZoomOverviewScale - mActualScale) >= MINIMUM_SCALE_INCREMENT; // Make sure mobile sites are correctly handled since mobile site will // change content width after rotating. boolean mobileSiteInOverview = mInZoomOverview && !exceedsMinScaleIncrement(newZoomOverviewScale, 1.0f); if (!mWebView.drawHistory() && (mInitialZoomOverview || scaleLessThanOverview || mobileSiteInOverview) && (mInitialZoomOverview || mobileSiteInOverview) && scaleHasDiff && zoomOverviewWidthChanged) { mInitialZoomOverview = false; setZoomScale(newZoomOverviewScale, !willScaleTriggerZoom(mTextWrapScale) && Loading Loading @@ -967,10 +954,11 @@ class ZoomManager { mTextWrapScale = viewState.mTextWrapScale; scale = viewState.mViewScale; } else { scale = overviewScale; if (!settings.getUseWideViewPort() || !settings.getLoadWithOverviewMode()) { scale = Math.max(viewState.mTextWrapScale, scale); scale = mDefaultScale; mTextWrapScale = mDefaultScale; if (settings.getUseWideViewPort() && settings.getLoadWithOverviewMode()) { scale = Math.max(overviewScale, scale); } if (settings.isNarrowColumnLayout() && settings.getUseFixedViewport()) { Loading @@ -981,7 +969,7 @@ class ZoomManager { } boolean reflowText = false; if (!viewState.mIsRestored) { if (settings.getUseFixedViewport()) { if (settings.getUseFixedViewport() && settings.getLoadWithOverviewMode()) { // Override the scale only in case of fixed viewport. scale = Math.max(scale, overviewScale); mTextWrapScale = Math.max(mTextWrapScale, overviewScale); Loading