do not merge -- original checkin to mr2 here:
https://android-git.corp.google.com/g/#change,30204
check for native initialization before calling public function
Added more checks where it is possible to call a native function
after creating a WebView but before the native side is initialized.
These cases can be triggered by the monkey.
Fixes http://b/issue?id=2187719
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index fe91229..06c70ca 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -1713,6 +1713,7 @@
* as the data member with "url" as key. The result can be null.
*/
public void requestImageRef(Message msg) {
+ if (0 == mNativeClass) return; // client isn't initialized
int contentX = viewToContentX((int) mLastTouchX + mScrollX);
int contentY = viewToContentY((int) mLastTouchY + mScrollY);
String ref = nativeImageURI(contentX, contentY);
@@ -2331,6 +2332,7 @@
* @param forward Direction to search.
*/
public void findNext(boolean forward) {
+ if (0 == mNativeClass) return; // client isn't initialized
nativeFindNext(forward);
}
@@ -2341,6 +2343,7 @@
* that were found.
*/
public int findAll(String find) {
+ if (0 == mNativeClass) return 0; // client isn't initialized
if (mFindIsUp == false) {
recordNewContentSize(mContentWidth, mContentHeight + mFindHeight,
false);
@@ -3431,6 +3434,7 @@
* @hide
*/
public void emulateShiftHeld() {
+ if (0 == mNativeClass) return; // client isn't initialized
mExtendSelection = false;
mShiftIsPressed = true;
nativeHideCursor();