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
This commit is contained in:
@ -2066,7 +2066,7 @@ public class WebView extends AbsoluteLayout
|
|||||||
mScrollX = pinLocX(mScrollX);
|
mScrollX = pinLocX(mScrollX);
|
||||||
mScrollY = pinLocY(mScrollY);
|
mScrollY = pinLocY(mScrollY);
|
||||||
if (oldX != mScrollX || oldY != mScrollY) {
|
if (oldX != mScrollX || oldY != mScrollY) {
|
||||||
sendOurVisibleRect();
|
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
|
||||||
}
|
}
|
||||||
if (!mScroller.isFinished()) {
|
if (!mScroller.isFinished()) {
|
||||||
// We are in the middle of a scroll. Repin the final scroll
|
// We are in the middle of a scroll. Repin the final scroll
|
||||||
@ -2130,9 +2130,12 @@ public class WebView extends AbsoluteLayout
|
|||||||
mScrollX = pinLocX(Math.round(sx));
|
mScrollX = pinLocX(Math.round(sx));
|
||||||
mScrollY = pinLocY(Math.round(sy));
|
mScrollY = pinLocY(Math.round(sy));
|
||||||
|
|
||||||
|
if (oldX != mScrollX || oldY != mScrollY) {
|
||||||
|
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
|
||||||
|
}
|
||||||
|
|
||||||
// update webkit
|
// update webkit
|
||||||
sendViewSizeZoom();
|
sendViewSizeZoom();
|
||||||
sendOurVisibleRect();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2634,9 +2637,7 @@ public class WebView extends AbsoluteLayout
|
|||||||
mScrollY = mScroller.getCurrY();
|
mScrollY = mScroller.getCurrY();
|
||||||
postInvalidate(); // So we draw again
|
postInvalidate(); // So we draw again
|
||||||
if (oldX != mScrollX || oldY != mScrollY) {
|
if (oldX != mScrollX || oldY != mScrollY) {
|
||||||
// As onScrollChanged() is not called, sendOurVisibleRect()
|
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
|
||||||
// needs to be called explicitly.
|
|
||||||
sendOurVisibleRect();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
super.computeScroll();
|
super.computeScroll();
|
||||||
@ -3347,8 +3348,10 @@ public class WebView extends AbsoluteLayout
|
|||||||
mUserScroll = false;
|
mUserScroll = false;
|
||||||
mWebViewCore.sendMessage(EventHub.SYNC_SCROLL, oldScrollX,
|
mWebViewCore.sendMessage(EventHub.SYNC_SCROLL, oldScrollX,
|
||||||
oldScrollY);
|
oldScrollY);
|
||||||
|
onScrollChanged(mScrollX, mScrollY, oldScrollX, oldScrollY);
|
||||||
|
} else {
|
||||||
|
sendOurVisibleRect();
|
||||||
}
|
}
|
||||||
sendOurVisibleRect();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user