| Index: chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java
|
| diff --git a/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java b/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java
|
| index 98df0c1afbd1f5a8ad9cabae2110ee65ec2c5f0f..eaad42be0805d32cd003d7c1650f7c384e0dd00f 100644
|
| --- a/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java
|
| +++ b/chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java
|
| @@ -21,6 +21,7 @@ import org.chromium.content.browser.ContentVideoViewClient;
|
| import org.chromium.content.browser.ContentView;
|
| import org.chromium.content.browser.ContentViewClient;
|
| import org.chromium.content.browser.DeviceUtils;
|
| +import org.chromium.content.browser.StartupObserver;
|
| import org.chromium.content.common.CommandLine;
|
| import org.chromium.content.common.ProcessInitException;
|
| import org.chromium.ui.WindowAndroid;
|
| @@ -49,21 +50,33 @@ public class ChromiumTestShellActivity extends ChromiumActivity {
|
| private WindowAndroid mWindow;
|
| private TabManager mTabManager;
|
| private DevToolsServer mDevToolsServer;
|
| + private Bundle mSavedInstanceState;
|
|
|
| @Override
|
| protected void onCreate(Bundle savedInstanceState) {
|
| super.onCreate(savedInstanceState);
|
| + mSavedInstanceState = savedInstanceState;
|
|
|
| if (!CommandLine.isInitialized()) CommandLine.initFromFile(COMMAND_LINE_FILE);
|
| waitForDebuggerIfNeeded();
|
|
|
| DeviceUtils.addDeviceSpecificUserAgentSwitch(this);
|
| +
|
| try {
|
| - AndroidBrowserProcess.init(this, AndroidBrowserProcess.MAX_RENDERERS_LIMIT);
|
| + AndroidBrowserProcess.init(
|
| + this, AndroidBrowserProcess.MAX_RENDERERS_LIMIT, false, new StartupObserver() {
|
| + @Override
|
| + public void allTasksRun() {
|
| + finishInitialization();
|
| + }
|
| + });
|
| } catch (ProcessInitException e) {
|
| Log.e(TAG, "Chromium browser process initialization failed", e);
|
| finish();
|
| }
|
| + }
|
| +
|
| + private void finishInitialization() {
|
| setContentView(R.layout.testshell_activity);
|
| mTabManager = (TabManager) findViewById(R.id.tab_manager);
|
| String startupUrl = getUrlFromIntent(getIntent());
|
| @@ -72,7 +85,7 @@ public class ChromiumTestShellActivity extends ChromiumActivity {
|
| }
|
|
|
| mWindow = new WindowAndroid(this);
|
| - mWindow.restoreInstanceState(savedInstanceState);
|
| + mWindow.restoreInstanceState(mSavedInstanceState);
|
| mTabManager.setWindow(mWindow);
|
|
|
| mDevToolsServer = new DevToolsServer("chromium_testshell");
|
|
|