Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 
| index 03b911186723783ba3d773f5579e7ef45d6ab85d..ac8eeba393dc92a0edff590d968da5f00ac3fdd2 100644 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java | 
| @@ -10,6 +10,7 @@ import android.app.Activity; | 
| import android.app.ActivityManager; | 
| import android.app.ActivityManager.AppTask; | 
| import android.app.ActivityManager.RecentTaskInfo; | 
| +import android.app.NotificationManager; | 
| import android.content.Context; | 
| import android.content.Intent; | 
| import android.content.pm.PackageManager; | 
| @@ -51,6 +52,7 @@ import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; | 
| import org.chromium.chrome.browser.IntentHandler.TabOpenType; | 
| import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate; | 
| import org.chromium.chrome.browser.bookmarks.BookmarkUtils; | 
| +import org.chromium.chrome.browser.browseractions.BrowserActionsContextMenuItemDelegate; | 
| import org.chromium.chrome.browser.compositor.CompositorViewHolder; | 
| import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChangeReason; | 
| import org.chromium.chrome.browser.compositor.layouts.Layout; | 
| @@ -83,6 +85,7 @@ import org.chromium.chrome.browser.metrics.UmaUtils; | 
| import org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity; | 
| import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; | 
| import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; | 
| +import org.chromium.chrome.browser.notifications.NotificationConstants; | 
| import org.chromium.chrome.browser.ntp.ChromeHomeNewTabPage; | 
| import org.chromium.chrome.browser.ntp.NativePageAssassin; | 
| import org.chromium.chrome.browser.ntp.NewTabPage; | 
| @@ -566,6 +569,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode | 
| super.onStartWithNative(); | 
| // If we don't have a current tab, show the overview mode. | 
| if (getActivityTab() == null) mLayoutManager.showOverview(false); | 
| 
 
David Trainor- moved to gerrit
2017/05/17 16:48:01
Can you add {} around this now?
 
ltian
2017/05/19 21:02:47
Done.
 
 | 
| + else if (isStartedByBrowserActions() && shouldToggleOverview()) { | 
| + toggleOverview(); | 
| + } | 
| + cancelBrowserActionsNotification(); | 
| 
 
David Trainor- moved to gerrit
2017/05/17 16:48:02
Can this hit a static method on that delegate or s
 
ltian
2017/05/19 21:02:47
Done.
 
 | 
| resetSavedInstanceState(); | 
| } | 
| @@ -619,6 +626,31 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode | 
| } | 
| } | 
| + private void cancelBrowserActionsNotification() { | 
| + NotificationManager notificationManager = | 
| + (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); | 
| + notificationManager.cancel(NotificationConstants.NOTIFICATION_ID_BROWSER_ACTIONS); | 
| + } | 
| + | 
| + private boolean isStartedByBrowserActions() { | 
| + if (BrowserActionsContextMenuItemDelegate.ACTION_BROWSER_ACTIONS_OPEN_IN_BACKGROUND.equals( | 
| + getIntent().getAction())) { | 
| + return true; | 
| + } | 
| + return false; | 
| + } | 
| + | 
| + private boolean shouldToggleOverview() { | 
| 
 
David Trainor- moved to gerrit
2017/05/17 16:48:01
Can we just call this setInitialOverviewState() an
 
ltian
2017/05/19 21:02:47
Done.
 
 | 
| + boolean isSingleUrl = IntentUtils.safeGetBooleanExtra( | 
| + getIntent(), BrowserActionsContextMenuItemDelegate.EXTRA_IS_SINGLE_URL, false); | 
| + if (isSingleUrl && mLayoutManager.overviewVisible()) { | 
| + return true; | 
| + } else if (!isSingleUrl && !mLayoutManager.overviewVisible()) { | 
| + return true; | 
| + } | 
| + return false; | 
| + } | 
| + | 
| private void initializeUI() { | 
| try { | 
| TraceEvent.begin("ChromeTabbedActivity.initializeUI"); |