summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit
diff options
context:
space:
mode:
authorLeon Scroggins <scroggo@google.com>2009-10-29 09:48:43 -0400
committerLeon Scroggins <scroggo@google.com>2009-10-29 12:52:11 -0400
commit5de6389f2252cb6e39918e21f80a08918e0c2c02 (patch)
tree32a27d63ed0836e212e26fe432fa6c94413ee537 /core/java/android/webkit
parent9d73409e76000f06a7ee3395241154a029152483 (diff)
downloadframeworks_base-5de6389f2252cb6e39918e21f80a08918e0c2c02.zip
frameworks_base-5de6389f2252cb6e39918e21f80a08918e0c2c02.tar.gz
frameworks_base-5de6389f2252cb6e39918e21f80a08918e0c2c02.tar.bz2
DO NOT MERGE. Send a message when the picture changes and find is up to search again.
Fixes http://b/issue?id=2222706 Requires a change in external/webkit. Not merging because the change in webkit should be altered slightly.
Diffstat (limited to 'core/java/android/webkit')
-rw-r--r--core/java/android/webkit/WebView.java14
-rw-r--r--core/java/android/webkit/WebViewCore.java7
2 files changed, 20 insertions, 1 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 304c927..98a6c2c 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -462,6 +462,7 @@ public class WebView extends AbsoluteLayout
static final int UPDATE_TEXT_ENTRY_MSG_ID = 15;
static final int WEBCORE_INITIALIZED_MSG_ID = 16;
static final int UPDATE_TEXTFIELD_TEXT_MSG_ID = 17;
+ static final int FIND_AGAIN = 18;
static final int MOVE_OUT_OF_PLUGIN = 19;
static final int CLEAR_TEXT_ENTRY = 20;
static final int UPDATE_TEXT_SELECTION_MSG_ID = 21;
@@ -491,7 +492,7 @@ public class WebView extends AbsoluteLayout
"UPDATE_TEXT_ENTRY_MSG_ID", // = 15;
"WEBCORE_INITIALIZED_MSG_ID", // = 16;
"UPDATE_TEXTFIELD_TEXT_MSG_ID", // = 17;
- "18", // = 18;
+ "FIND_AGAIN", // = 18;
"MOVE_OUT_OF_PLUGIN", // = 19;
"CLEAR_TEXT_ENTRY", // = 20;
"UPDATE_TEXT_SELECTION_MSG_ID", // = 21;
@@ -2362,6 +2363,7 @@ public class WebView extends AbsoluteLayout
}
int result = nativeFindAll(find.toLowerCase(), find.toUpperCase());
invalidate();
+ mLastFind = find;
return result;
}
@@ -2369,6 +2371,9 @@ public class WebView extends AbsoluteLayout
// or not we draw the highlights for matches.
private boolean mFindIsUp;
private int mFindHeight;
+ // Keep track of the last string sent, so we can search again after an
+ // orientation change or the dismissal of the soft keyboard.
+ private String mLastFind;
/**
* Return the first substring consisting of the address of a physical
@@ -5261,6 +5266,13 @@ public class WebView extends AbsoluteLayout
}
break;
+ case FIND_AGAIN:
+ // Ignore if find has been dismissed.
+ if (mFindIsUp) {
+ findAll(mLastFind);
+ }
+ break;
+
case DRAG_HELD_MOTIONLESS:
mHeldMotionless = MOTIONLESS_TRUE;
invalidate();
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 6505ee2..b466591 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -2115,6 +2115,13 @@ final class WebViewCore {
WebView.CLEAR_TEXT_ENTRY).sendToTarget();
}
+ // called by JNI
+ private void sendFindAgain() {
+ if (mWebView == null) return;
+ Message.obtain(mWebView.mPrivateHandler,
+ WebView.FIND_AGAIN).sendToTarget();
+ }
+
private native void nativeUpdateFrameCacheIfLoading();
/**