| 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 39d7efbd2ad352ac4cf08fefb778311d62ae803b..8f79710f5053a6f968ea2ba389953852b3df36c9 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);
|
| + else if (isStartedByBrowserActions() && shouldToggleOverview()) {
|
| + toggleOverview();
|
| + }
|
| + cancelBrowserActionsNotification();
|
|
|
| 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() {
|
| + 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");
|
|
|