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 82b7ca070282e00bc0785c2717d280dcec8f50b2..faea5d938c9faa204b26b3abd577c0ee95e04768 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java |
@@ -51,6 +51,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; |
@@ -616,10 +617,9 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
@Override |
public void onStartWithNative() { |
super.onStartWithNative(); |
- // If we don't have a current tab, show the overview mode. |
- if (getActivityTab() == null && !mLayoutManager.overviewVisible()) { |
- mLayoutManager.showOverview(false); |
- } |
+ |
+ setInitialOverviewState(); |
+ BrowserActionsContextMenuItemDelegate.cancelBrowserActionsNotification(); |
resetSavedInstanceState(); |
} |
@@ -673,6 +673,18 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
} |
} |
+ private void setInitialOverviewState() { |
+ boolean isOverviewVisible = mLayoutManager.overviewVisible(); |
+ if (getActivityTab() == null && !isOverviewVisible) { |
+ toggleOverview(); |
+ } |
+ |
+ if (BrowserActionsContextMenuItemDelegate.toggleOverviewByBrowserActions( |
+ getIntent(), isOverviewVisible)) { |
+ toggleOverview(); |
+ } |
+ } |
+ |
private void initializeUI() { |
try { |
TraceEvent.begin("ChromeTabbedActivity.initializeUI"); |
@@ -1823,8 +1835,12 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode |
private void toggleOverview() { |
Tab currentTab = getActivityTab(); |
- ContentViewCore contentViewCore = |
- currentTab != null ? currentTab.getContentViewCore() : null; |
+ // If we don't have a current tab, show the overview mode. |
+ if (currentTab == null) { |
+ mLayoutManager.showOverview(false); |
+ return; |
+ } |
+ ContentViewCore contentViewCore = currentTab.getContentViewCore(); |
if (!mLayoutManager.overviewVisible()) { |
getCompositorViewHolder().hideKeyboard(new Runnable() { |