Merge "Load the WebView Java code via createPackageContext."
This commit is contained in:
@@ -16,6 +16,9 @@
|
||||
|
||||
package android.webkit;
|
||||
|
||||
import android.app.AppGlobals;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.StrictMode;
|
||||
import android.os.SystemProperties;
|
||||
@@ -92,6 +95,16 @@ public final class WebViewFactory {
|
||||
}
|
||||
|
||||
private static Class<WebViewFactoryProvider> getFactoryClass() throws ClassNotFoundException {
|
||||
return (Class<WebViewFactoryProvider>) Class.forName(CHROMIUM_WEBVIEW_FACTORY);
|
||||
try {
|
||||
Context webViewContext = AppGlobals.getInitialApplication().createPackageContext(
|
||||
getWebViewPackageName(),
|
||||
Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
|
||||
ClassLoader clazzLoader = webViewContext.getClassLoader();
|
||||
return (Class<WebViewFactoryProvider>) Class.forName(CHROMIUM_WEBVIEW_FACTORY, true,
|
||||
clazzLoader);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.e(LOGTAG, "Chromium WebView package does not exist");
|
||||
return (Class<WebViewFactoryProvider>) Class.forName(NULL_WEBVIEW_FACTORY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user