summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/java/android/webkit/WebViewClassic.java10
-rw-r--r--core/java/android/webkit/ZoomManager.java6
2 files changed, 10 insertions, 6 deletions
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index 5d42da1..ce67718 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -2939,6 +2939,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
// premature data from webkit, ignore
if ((w | h) == 0) {
+ invalidate();
return;
}
@@ -2951,10 +2952,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
// updated when we get out of that mode.
if (!mDrawHistory) {
// repin our scroll, taking into account the new content size
- if (updateScrollCoordinates(pinLocX(getScrollX()),
- pinLocY(getScrollY()))) {
- invalidate();
- }
+ updateScrollCoordinates(pinLocX(getScrollX()), pinLocY(getScrollY()));
if (!mScroller.isFinished()) {
// We are in the middle of a scroll. Repin the final scroll
// position.
@@ -2962,6 +2960,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
mScroller.setFinalY(pinLocY(mScroller.getFinalY()));
}
}
+ invalidate();
}
contentSizeChanged(updateLayout);
}
@@ -7956,7 +7955,8 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
}
// update the zoom information based on the new picture
- mZoomManager.onNewPicture(draw);
+ if (mZoomManager.onNewPicture(draw))
+ invalidate();
if (isPictureAfterFirstLayout) {
mViewManager.postReadyToDrawAll();
diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java
index 2247678..1da59e4 100644
--- a/core/java/android/webkit/ZoomManager.java
+++ b/core/java/android/webkit/ZoomManager.java
@@ -1008,8 +1008,10 @@ class ZoomManager {
/**
* Updates zoom values when Webkit produces a new picture. This method
* should only be called from the UI thread's message handler.
+ *
+ * @return True if zoom value has changed
*/
- public void onNewPicture(WebViewCore.DrawData drawData) {
+ public boolean onNewPicture(WebViewCore.DrawData drawData) {
final int viewWidth = mWebView.getViewWidth();
final boolean zoomOverviewWidthChanged = setupZoomOverviewWidth(drawData, viewWidth);
final float newZoomOverviewScale = getZoomOverviewScale();
@@ -1056,6 +1058,8 @@ class ZoomManager {
// so next new picture could be forced into overview mode if it's true.
mInitialZoomOverview = mInZoomOverview;
}
+
+ return scaleHasDiff;
}
/**