Fix bug 5309557 - Monkeys and SIGSEGV do not mix!
Make sure that the native component of WebView has been initialized
before any native-level optimization involving window focus occurs.
Change-Id: I24ca5fe21657aeb1a1faf5bc36fba5ea11064f86
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 065beb1..1a6157e 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -5573,7 +5573,7 @@
setActive(hasWindowFocus);
if (hasWindowFocus) {
JWebCoreJavaBridge.setActiveWebView(this);
- if (mPictureUpdatePausedForFocusChange) {
+ if (mPictureUpdatePausedForFocusChange && mNativeClass != 0) {
WebViewCore.resumeUpdatePicture(mWebViewCore);
nativeSetIsScrolling(false);
mPictureUpdatePausedForFocusChange = false;
@@ -5581,7 +5581,7 @@
} else {
JWebCoreJavaBridge.removeActiveWebView(this);
final WebSettings settings = getSettings();
- if (settings != null && settings.enableSmoothTransition() &&
+ if (settings != null && settings.enableSmoothTransition() && mNativeClass != 0 &&
mWebViewCore != null && !WebViewCore.isUpdatePicturePaused(mWebViewCore)) {
WebViewCore.pauseUpdatePicture(mWebViewCore);
nativeSetIsScrolling(true);