am 6f8b89bb: am b2ade4a7: Merge "Make sure when WebView modified mScrollX/Y directly, onScrollChanged() is called so that the View system can do what it needs to adjust." into froyo
Merge commit '6f8b89bb6641dfc34fa36dec52d25115b35b37ec' into kraken
* commit '6f8b89bb6641dfc34fa36dec52d25115b35b37ec':
Make sure when WebView modified mScrollX/Y directly,
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 74229b8..0eb5177 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -2066,7 +2066,7 @@
mScrollX = pinLocX(mScrollX);
mScrollY = pinLocY(mScrollY);
if (oldX != mScrollX || oldY != mScrollY) {
- sendOurVisibleRect();
+ onScrollChanged(mScrollX, mScrollY, oldX, oldY);
}
if (!mScroller.isFinished()) {
// We are in the middle of a scroll. Repin the final scroll
@@ -2130,9 +2130,12 @@
mScrollX = pinLocX(Math.round(sx));
mScrollY = pinLocY(Math.round(sy));
+ if (oldX != mScrollX || oldY != mScrollY) {
+ onScrollChanged(mScrollX, mScrollY, oldX, oldY);
+ }
+
// update webkit
sendViewSizeZoom();
- sendOurVisibleRect();
}
}
}
@@ -2634,9 +2637,7 @@
mScrollY = mScroller.getCurrY();
postInvalidate(); // So we draw again
if (oldX != mScrollX || oldY != mScrollY) {
- // As onScrollChanged() is not called, sendOurVisibleRect()
- // needs to be called explicitly.
- sendOurVisibleRect();
+ onScrollChanged(mScrollX, mScrollY, oldX, oldY);
}
} else {
super.computeScroll();
@@ -3347,8 +3348,10 @@
mUserScroll = false;
mWebViewCore.sendMessage(EventHub.SYNC_SCROLL, oldScrollX,
oldScrollY);
+ onScrollChanged(mScrollX, mScrollY, oldScrollX, oldScrollY);
+ } else {
+ sendOurVisibleRect();
}
- sendOurVisibleRect();
}
}