Index: content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java |
diff --git a/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java b/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java |
index 3f7ceb08898a87f109ba0f546502d1c0da4841bc..13bf0db250d933fbca42c06a2ac589a038487f8e 100644 |
--- a/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java |
+++ b/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ContentShellActivity.java |
@@ -17,8 +17,7 @@ import org.chromium.base.ChromiumActivity; |
import org.chromium.base.MemoryPressureListener; |
import org.chromium.content.app.LibraryLoader; |
import org.chromium.content.browser.ActivityContentVideoViewClient; |
-import org.chromium.content.browser.AndroidBrowserProcess; |
-import org.chromium.content.browser.BrowserStartupConfig; |
+import org.chromium.content.browser.BrowserStartupController; |
import org.chromium.content.browser.ContentVideoViewClient; |
import org.chromium.content.browser.ContentView; |
import org.chromium.content.browser.ContentViewClient; |
@@ -65,7 +64,7 @@ public class ContentShellActivity extends ChromiumActivity { |
private BroadcastReceiver mReceiver; |
@Override |
- protected void onCreate(Bundle savedInstanceState) { |
+ protected void onCreate(final Bundle savedInstanceState) { |
super.onCreate(savedInstanceState); |
// Initializing the command line must occur before loading the library. |
@@ -81,45 +80,60 @@ public class ContentShellActivity extends ChromiumActivity { |
DeviceUtils.addDeviceSpecificUserAgentSwitch(this); |
try { |
LibraryLoader.ensureInitialized(); |
+ } catch (ProcessInitException e) { |
+ Log.e(TAG, "ContentView initialization failed.", e); |
+ finish(); |
+ return; |
+ } |
- setContentView(R.layout.content_shell_activity); |
- mShellManager = (ShellManager) findViewById(R.id.shell_container); |
- mWindowAndroid = new WindowAndroid(this); |
- mWindowAndroid.restoreInstanceState(savedInstanceState); |
- mShellManager.setWindow(mWindowAndroid); |
+ setContentView(R.layout.content_shell_activity); |
+ mShellManager = (ShellManager) findViewById(R.id.shell_container); |
+ mWindowAndroid = new WindowAndroid(this); |
+ mWindowAndroid.restoreInstanceState(savedInstanceState); |
+ mShellManager.setWindow(mWindowAndroid); |
- String startupUrl = getUrlFromIntent(getIntent()); |
- if (!TextUtils.isEmpty(startupUrl)) { |
- mShellManager.setStartupUrl(Shell.sanitizeUrl(startupUrl)); |
- } |
+ String startupUrl = getUrlFromIntent(getIntent()); |
+ if (!TextUtils.isEmpty(startupUrl)) { |
+ mShellManager.setStartupUrl(Shell.sanitizeUrl(startupUrl)); |
+ } |
- if (!CommandLine.getInstance().hasSwitch(CommandLine.DUMP_RENDER_TREE)) { |
- BrowserStartupConfig.setAsync(new BrowserStartupConfig.StartupCallback() { |
- |
- @Override |
- public void run(int startupResult) { |
- if (startupResult > 0) { |
- // TODO: Show error message. |
- Log.e(TAG, "ContentView initialization failed."); |
- finish(); |
- } else { |
- finishInitialization(); |
+ BrowserStartupController.StartupCallback callback; |
+ if (CommandLine.getInstance().hasSwitch(CommandLine.DUMP_RENDER_TREE)) { |
+ callback = new BrowserStartupController.StartupCallback() { |
+ @Override |
+ public void run(int startupResult) { |
+ if (startupResult > 0) { |
+ // TODO: Show error message. |
+ Log.e(TAG, "ContentView initialization failed."); |
+ finish(); |
+ } else { |
+ String shellUrl = ShellManager.DEFAULT_SHELL_URL; |
+ if (savedInstanceState != null |
+ && savedInstanceState.containsKey(ACTIVE_SHELL_URL_KEY)) { |
+ shellUrl = savedInstanceState.getString(ACTIVE_SHELL_URL_KEY); |
} |
+ mShellManager.launchShell(shellUrl); |
+ finishInitialization(); |
} |
- }); |
- } |
- |
- if (!AndroidBrowserProcess.init(this, AndroidBrowserProcess.MAX_RENDERERS_LIMIT)) { |
- String shellUrl = ShellManager.DEFAULT_SHELL_URL; |
- if (savedInstanceState != null |
- && savedInstanceState.containsKey(ACTIVE_SHELL_URL_KEY)) { |
- shellUrl = savedInstanceState.getString(ACTIVE_SHELL_URL_KEY); |
} |
- mShellManager.launchShell(shellUrl); |
- finishInitialization(); |
- } |
- } catch (ProcessInitException e) { |
- Log.e(TAG, "ContentView initialization failed.", e); |
+ }; |
+ } else { |
+ callback = new BrowserStartupController.StartupCallback() { |
+ @Override |
+ public void run(int startupResult) { |
+ if (startupResult > 0) { |
+ // TODO: Show error message. |
+ Log.e(TAG, "ContentView initialization failed."); |
+ finish(); |
+ } else { |
+ finishInitialization(); |
+ } |
+ } |
+ }; |
+ } |
+ |
+ if (!BrowserStartupController.get(this).startBrowserProcessesAsync(callback)) { |
+ Log.e(TAG, "ContentView initialization failed."); |
finish(); |
} |
} |