summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit/WebViewClassic.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/webkit/WebViewClassic.java')
-rw-r--r--core/java/android/webkit/WebViewClassic.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java
index a324502..3afab09 100644
--- a/core/java/android/webkit/WebViewClassic.java
+++ b/core/java/android/webkit/WebViewClassic.java
@@ -66,6 +66,7 @@ import android.text.Editable;
import android.text.InputType;
import android.text.Selection;
import android.text.TextUtils;
+import android.util.AndroidRuntimeException;
import android.util.DisplayMetrics;
import android.util.EventLog;
import android.util.Log;
@@ -1293,6 +1294,19 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
// WebViewProvider bindings
static class Factory implements WebViewFactoryProvider, WebViewFactoryProvider.Statics {
+ Factory() {
+ // Touch JniUtil and WebViewCore in case this is being called from
+ // WebViewFactory.Preloader, to ensure that the JNI libraries that they use are
+ // preloaded in the zygote.
+ try {
+ Class.forName("android.webkit.JniUtil");
+ Class.forName("android.webkit.WebViewCore");
+ } catch (ClassNotFoundException e) {
+ Log.e(LOGTAG, "failed to load JNI libraries");
+ throw new AndroidRuntimeException(e);
+ }
+ }
+
@Override
public String findAddress(String addr) {
return WebViewClassic.findAddress(addr);