am 3c72fff0: Some mobile sites, like m.www.yahoo.com, slashdot.org (iPhone version), have a bigger minPrefWidth than the screen width. So we don\'t want to force the minZoomScale to be same as defaultScale. Otherwise we won\'t be able to zoom out in these sites.

Merge commit '3c72fff035e287f9e0b9340cc3921896ca86380b' into eclair-plus-aosp

* commit '3c72fff035e287f9e0b9340cc3921896ca86380b':
  Some mobile sites, like m.www.yahoo.com, slashdot.org (iPhone version),
This commit is contained in:
Grace Kloba
2009-09-04 13:32:50 -07:00
committed by Android Git Automerger
2 changed files with 22 additions and 11 deletions

View File

@@ -5203,8 +5203,19 @@ public class WebView extends AbsoluteLayout
mInZoomOverview = false;
mLastScale = restoreState.mTextWrapScale;
if (restoreState.mMinScale == 0) {
mMinZoomScale = DEFAULT_MIN_ZOOM_SCALE;
mMinZoomScaleFixed = false;
if (restoreState.mMobileSite) {
if (draw.mMinPrefWidth > draw.mViewPoint.x) {
mMinZoomScale = (float) viewWidth
/ draw.mMinPrefWidth;
mMinZoomScaleFixed = false;
} else {
mMinZoomScale = mDefaultScale;
mMinZoomScaleFixed = true;
}
} else {
mMinZoomScale = DEFAULT_MIN_ZOOM_SCALE;
mMinZoomScaleFixed = false;
}
} else {
mMinZoomScale = restoreState.mMinScale;
mMinZoomScaleFixed = true;
@@ -5217,11 +5228,11 @@ public class WebView extends AbsoluteLayout
setNewZoomScale(mLastScale, false);
setContentScrollTo(restoreState.mScrollX,
restoreState.mScrollY);
if (!ENABLE_DOUBLETAP_ZOOM
|| !settings.getLoadWithOverviewMode()) {
} else {
if (useWideViewport
&& restoreState.mViewScale == 0) {
if (ENABLE_DOUBLETAP_ZOOM && useWideViewport
&& settings.getLoadWithOverviewMode()) {
if (restoreState.mViewScale == 0
|| (restoreState.mMobileSite
&& mMinZoomScale < mDefaultScale)) {
mInZoomOverview = true;
}
}

View File

@@ -1572,7 +1572,10 @@ final class WebViewCore {
// layout.
draw.mViewPoint = new Point(mCurrentViewWidth, mCurrentViewHeight);
if (WebView.ENABLE_DOUBLETAP_ZOOM && mSettings.getUseWideViewPort()) {
draw.mMinPrefWidth = Math.max(DEFAULT_VIEWPORT_WIDTH,
draw.mMinPrefWidth = Math.max(
mViewportWidth == -1 ? DEFAULT_VIEWPORT_WIDTH
: (mViewportWidth == 0 ? mCurrentViewWidth
: mViewportWidth),
nativeGetContentMinPrefWidth());
}
if (mRestoreState != null) {
@@ -1859,9 +1862,6 @@ final class WebViewCore {
if (mViewportInitialScale == 0) {
mViewportInitialScale = WebView.DEFAULT_SCALE_PERCENT;
}
if (mViewportMinimumScale == 0) {
mViewportMinimumScale = WebView.DEFAULT_SCALE_PERCENT;
}
}
if (mViewportUserScalable == false) {
mViewportInitialScale = WebView.DEFAULT_SCALE_PERCENT;