Index: android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java b/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java |
index 0989339b969783fb484cf3eec493e0da9250c82c..a936cd30716ab6518d43e90991bc541d20f2ef96 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java |
+++ b/android_webview/java/src/org/chromium/android_webview/AwBrowserProcess.java |
@@ -6,6 +6,7 @@ |
import android.content.Context; |
+import org.chromium.android_webview.policy.AwPolicyProvider; |
import org.chromium.base.CommandLine; |
import org.chromium.base.PathUtils; |
import org.chromium.base.ThreadUtils; |
@@ -13,6 +14,7 @@ |
import org.chromium.base.library_loader.LibraryProcessType; |
import org.chromium.base.library_loader.ProcessInitException; |
import org.chromium.content.browser.BrowserStartupController; |
+import org.chromium.policy.CombinedPolicyProvider; |
/** |
* Wrapper for the steps needed to initialize the java and native sides of webview chromium. |
@@ -54,6 +56,11 @@ public static void start(final Context context) { |
ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
@Override |
public void run() { |
+ // The policies are used by browser startup, so we need to register the policy |
+ // providers before starting the browser process. This only registers java objects |
+ // and doesn't need the native library. |
+ CombinedPolicyProvider.get().registerProvider(new AwPolicyProvider(context)); |
+ |
try { |
BrowserStartupController.get(context, LibraryProcessType.PROCESS_WEBVIEW) |
.startBrowserProcessesSync(!CommandLine.getInstance().hasSwitch( |