summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit
diff options
context:
space:
mode:
authorCary Clark <cary@android.com>2009-10-15 13:32:08 -0400
committerCary Clark <cary@android.com>2009-10-15 13:55:06 -0400
commitbadd8399ca803f48ca43658b49c1cdcf0e3ec250 (patch)
tree954da299614240e07ed2a26120618ffad435da89 /core/java/android/webkit
parent70d71fdcbf365ed148f2f4252a6975851424637e (diff)
downloadframeworks_base-badd8399ca803f48ca43658b49c1cdcf0e3ec250.zip
frameworks_base-badd8399ca803f48ca43658b49c1cdcf0e3ec250.tar.gz
frameworks_base-badd8399ca803f48ca43658b49c1cdcf0e3ec250.tar.bz2
fix copy/paste using trackball on passion
This fix should be considered for passion mr1, but does not affect sholes -- this is a trackball only bug. The selection caret and arrow now take the scale factor and the height of the title bar into account when preparing the canvas for drawing. Clicking the trackball at the end of selecting text no longer sends a click event. Requires a companion fix in external/webkit Fixes http://b/issue?id=2187591
Diffstat (limited to 'core/java/android/webkit')
-rw-r--r--core/java/android/webkit/WebView.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 590bfe2..916d21e 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -2967,12 +2967,12 @@ public class WebView extends AbsoluteLayout
animateScroll);
if (mNativeClass == 0) return;
- if (mShiftIsPressed) {
+ if (mShiftIsPressed && !animateZoom) {
if (mTouchSelection) {
nativeDrawSelectionRegion(canvas);
} else {
- nativeDrawSelection(canvas, mSelectX, mSelectY,
- mExtendSelection);
+ nativeDrawSelection(canvas, mInvActualScale, getTitleHeight(),
+ mSelectX, mSelectY, mExtendSelection);
}
} else if (drawCursorRing) {
if (mTouchMode == TOUCH_SHORTPRESS_START_MODE) {
@@ -4137,6 +4137,9 @@ public class WebView extends AbsoluteLayout
return true;
}
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
+ if (mShiftIsPressed) {
+ return true; // discard press if copy in progress
+ }
mTrackballDown = true;
if (mNativeClass == 0) {
return false;
@@ -4165,6 +4168,7 @@ public class WebView extends AbsoluteLayout
} else {
mExtendSelection = true;
}
+ return true; // discard press if copy in progress
}
if (DebugFlags.WEB_VIEW) {
Log.v(LOGTAG, "onTrackballEvent up ev=" + ev
@@ -5710,8 +5714,8 @@ public class WebView extends AbsoluteLayout
private native void nativeDestroy();
private native void nativeDrawCursorRing(Canvas content);
private native void nativeDrawMatches(Canvas canvas);
- private native void nativeDrawSelection(Canvas content
- , int x, int y, boolean extendSelection);
+ private native void nativeDrawSelection(Canvas content, float scale,
+ int offset, int x, int y, boolean extendSelection);
private native void nativeDrawSelectionRegion(Canvas content);
private native void nativeDumpDisplayTree(String urlOrNull);
private native int nativeFindAll(String findLower, String findUpper);