| Index: chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
|
| index c314adfb61a9e6bbd69638f688e2b967ffcac936..cd495fa7fe33173488bff5528083e343181f7264 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
|
| @@ -42,6 +42,7 @@ import org.chromium.chrome.browser.IntentHandler;
|
| import org.chromium.chrome.browser.IntentHandler.TabOpenType;
|
| import org.chromium.chrome.browser.ShortcutHelper;
|
| import org.chromium.chrome.browser.ShortcutSource;
|
| +import org.chromium.chrome.browser.UpgradeActivity;
|
| import org.chromium.chrome.browser.UrlConstants;
|
| import org.chromium.chrome.browser.WarmupManager;
|
| import org.chromium.chrome.browser.customtabs.CustomTabActivity;
|
| @@ -59,6 +60,7 @@ import org.chromium.chrome.browser.preferences.DocumentModeManager;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.chrome.browser.tab.TabIdManager;
|
| import org.chromium.chrome.browser.tabmodel.AsyncTabParamsManager;
|
| +import org.chromium.chrome.browser.tabmodel.DocumentModeAssassin;
|
| import org.chromium.chrome.browser.tabmodel.document.ActivityDelegate;
|
| import org.chromium.chrome.browser.tabmodel.document.AsyncTabCreationParams;
|
| import org.chromium.chrome.browser.tabmodel.document.DocumentTabModel;
|
| @@ -217,13 +219,6 @@ public class ChromeLauncherActivity extends Activity
|
| return;
|
| }
|
|
|
| - // Check if we're just closing all of the Incognito tabs.
|
| - if (TextUtils.equals(intent.getAction(), ACTION_CLOSE_ALL_INCOGNITO)) {
|
| - ChromeApplication.getDocumentTabModelSelector().getModel(true).closeAllTabs();
|
| - ApiCompatibilityUtils.finishAndRemoveTask(this);
|
| - return;
|
| - }
|
| -
|
| // Check if we should launch the FirstRunActivity. This occurs after the check to launch
|
| // ChromeTabbedActivity because ChromeTabbedActivity handles FRE in its own way.
|
| if (launchFirstRunExperience()) return;
|
| @@ -234,8 +229,23 @@ public class ChromeLauncherActivity extends Activity
|
| return;
|
| }
|
|
|
| - // Launch a DocumentActivity to handle the Intent.
|
| - handleDocumentActivityIntent();
|
| + if (DocumentModeAssassin.isMigrationNecessary()) {
|
| + Log.d(TAG, "Diverting to UpgradeActivity via ChromeLauncherActivity.");
|
| + UpgradeActivity.launchInstance(this, intent);
|
| + ApiCompatibilityUtils.finishAndRemoveTask(this);
|
| + return;
|
| + } else {
|
| + // Check if we're just closing all of the Incognito tabs.
|
| + if (TextUtils.equals(intent.getAction(), ACTION_CLOSE_ALL_INCOGNITO)) {
|
| + ChromeApplication.getDocumentTabModelSelector().getModel(true).closeAllTabs();
|
| + ApiCompatibilityUtils.finishAndRemoveTask(this);
|
| + return;
|
| + }
|
| +
|
| + // Launch a DocumentActivity to handle the Intent.
|
| + handleDocumentActivityIntent();
|
| + }
|
| +
|
| if (!mIsFinishDelayed) ApiCompatibilityUtils.finishAndRemoveTask(this);
|
| }
|
|
|
|
|