am 5ddbe722: Merge "Load the WebView Java code via createPackageContext."

* commit '5ddbe722befa58db3b14bcbec55bf5313cd80962':
  Load the WebView Java code via createPackageContext.
This commit is contained in:
Marcin Kosiba
2014-09-01 09:13:40 +00:00
committed by Android Git Automerger

View File

@@ -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);
}
}
}