diff options
| author | Mangesh Ghiware <mghiware@google.com> | 2011-11-16 18:01:35 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-11-16 18:01:35 -0800 |
| commit | 4fdfdeedc64eef2efe3811198e8fad40aa1b8fc3 (patch) | |
| tree | 5ea7a9e7fc29b8792bfdb85b7ad65c6d96cb4a91 /core/java | |
| parent | e5febfd5bd9b19a01383760b523476ba7f013a5c (diff) | |
| parent | e832b63c97c18c8170643c5a1c565e07893c5368 (diff) | |
| download | frameworks_base-4fdfdeedc64eef2efe3811198e8fad40aa1b8fc3.zip frameworks_base-4fdfdeedc64eef2efe3811198e8fad40aa1b8fc3.tar.gz frameworks_base-4fdfdeedc64eef2efe3811198e8fad40aa1b8fc3.tar.bz2 | |
Merge "Revert change to setInitialScale() to take display density into account." into ics-mr1
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/webkit/WebSettings.java | 2 | ||||
| -rw-r--r-- | core/java/android/webkit/WebView.java | 10 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewCore.java | 5 | ||||
| -rw-r--r-- | core/java/android/webkit/ZoomManager.java | 2 |
4 files changed, 14 insertions, 5 deletions
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java index f240a2e..0c3f94e 100644 --- a/core/java/android/webkit/WebSettings.java +++ b/core/java/android/webkit/WebSettings.java @@ -799,7 +799,7 @@ public class WebSettings { public void setDefaultZoom(ZoomDensity zoom) { if (mDefaultZoom != zoom) { mDefaultZoom = zoom; - mWebView.updateDefaultZoomDensity(zoom.value); + mWebView.adjustDefaultZoomDensity(zoom.value); } } diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index ec2f55b..907e8db 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -1341,9 +1341,13 @@ public class WebView extends AbsoluteLayout } } - /* package */void updateDefaultZoomDensity(int zoomDensity) { + /* package */ void adjustDefaultZoomDensity(int zoomDensity) { final float density = mContext.getResources().getDisplayMetrics().density * 100 / zoomDensity; + updateDefaultZoomDensity(density); + } + + /* package */ void updateDefaultZoomDensity(float density) { mNavSlop = (int) (16 * density); mZoomManager.updateDefaultZoomDensity(density); } @@ -2469,7 +2473,9 @@ public class WebView extends AbsoluteLayout * Set the initial scale for the WebView. 0 means default. If * {@link WebSettings#getUseWideViewPort()} is true, it zooms out all the * way. Otherwise it starts with 100%. If initial scale is greater than 0, - * WebView starts will this value as initial scale. + * WebView starts with this value as initial scale. + * Please note that unlike the scale properties in the viewport meta tag, + * this method doesn't take the screen density into account. * * @param scaleInPercent The initial scale in percent. */ diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index cd61481..a97f4dd 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -2336,6 +2336,9 @@ public final class WebViewCore { adjust = (float) mContext.getResources().getDisplayMetrics().densityDpi / mViewportDensityDpi; } + if (adjust != mWebView.getDefaultZoomScale()) { + mWebView.updateDefaultZoomDensity(adjust); + } int defaultScale = (int) (adjust * 100); if (mViewportInitialScale > 0) { @@ -2546,7 +2549,7 @@ public final class WebViewCore { // called by JNI private void restoreScale(float scale, float textWrapScale) { if (mBrowserFrame.firstLayoutDone() == false) { - mIsRestored = scale > 0; + mIsRestored = true; mRestoredScale = scale; if (mSettings.getUseWideViewPort()) { mRestoredTextWrapScale = textWrapScale; diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java index f599dba..84d00c9 100644 --- a/core/java/android/webkit/ZoomManager.java +++ b/core/java/android/webkit/ZoomManager.java @@ -349,7 +349,7 @@ class ZoomManager { } public final void setInitialScaleInPercent(int scaleInPercent) { - mInitialScale = scaleInPercent * mDisplayDensity * 0.01f; + mInitialScale = scaleInPercent * 0.01f; } public final float computeScaleWithLimits(float scale) { |
