am 22e883dd: For Textareas, do not use UI side layers.

* commit '22e883dd4a400122003506f47b228378000dd12f':
  For Textareas, do not use UI side layers.
This commit is contained in:
Leon Scroggins
2011-01-31 08:24:31 -08:00
committed by Android Git Automerger
2 changed files with 12 additions and 18 deletions

View File

@@ -6625,15 +6625,10 @@ public class WebView extends AbsoluteLayout
* @param y New y position of the WebTextView in view coordinates
*/
/* package */ void scrollFocusedTextInputY(int y) {
if (!inEditingMode()) {
if (!inEditingMode() || mWebViewCore == null) {
return;
}
int xPos = viewToContentX((mWebTextView.getLeft() + mWebTextView.getRight()) / 2);
int yPos = viewToContentY((mWebTextView.getTop() + mWebTextView.getBottom()) / 2);
int layer = nativeScrollableLayer(xPos, yPos, null, null);
if (layer != 0) {
nativeScrollLayer(layer, 0, viewToContentDimension(y));
}
mWebViewCore.sendMessage(EventHub.SCROLL_TEXT_INPUT, 0, viewToContentDimension(y));
}
/**
@@ -7980,18 +7975,15 @@ public class WebView extends AbsoluteLayout
* @param node Pointer to the node touched.
* @param x x-position of the touch.
* @param y y-position of the touch.
* @param scrollY Only used when touching on a textarea. Otherwise, use -1.
* Tells how much the textarea is scrolled.
*/
private void sendMotionUp(int touchGeneration,
int frame, int node, int x, int y, int scrollY) {
int frame, int node, int x, int y) {
WebViewCore.TouchUpData touchUpData = new WebViewCore.TouchUpData();
touchUpData.mMoveGeneration = touchGeneration;
touchUpData.mFrame = frame;
touchUpData.mNode = node;
touchUpData.mX = x;
touchUpData.mY = y;
touchUpData.mScrollY = scrollY;
mWebViewCore.sendMessage(EventHub.TOUCH_UP, touchUpData);
}

View File

@@ -559,7 +559,7 @@ final class WebViewCore {
private native String nativeRetrieveImageSource(int x, int y);
private native void nativeTouchUp(int touchGeneration,
int framePtr, int nodePtr, int x, int y, int scrollY);
int framePtr, int nodePtr, int x, int y);
private native boolean nativeHandleTouchEvent(int action, int[] idArray,
int[] xArray, int[] yArray, int count, int metaState);
@@ -777,8 +777,6 @@ final class WebViewCore {
int mNode;
int mX;
int mY;
// Used in the case of a scrolled textarea
int mScrollY;
}
static class TouchHighlightData {
@@ -1086,8 +1084,13 @@ final class WebViewCore {
break;
case SCROLL_TEXT_INPUT:
nativeScrollFocusedTextInput(
((Float) msg.obj).floatValue(), msg.arg1);
float xPercent;
if (msg.obj == null) {
xPercent = 0f;
} else {
xPercent = ((Float) msg.obj).floatValue();
}
nativeScrollFocusedTextInput(xPercent, msg.arg2);
break;
case LOAD_URL: {
@@ -1307,8 +1310,7 @@ final class WebViewCore {
TouchUpData touchUpData = (TouchUpData) msg.obj;
nativeTouchUp(touchUpData.mMoveGeneration,
touchUpData.mFrame, touchUpData.mNode,
touchUpData.mX, touchUpData.mY,
touchUpData.mScrollY);
touchUpData.mX, touchUpData.mY);
break;
case TOUCH_EVENT: {