| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser; | 5 package org.chromium.chrome.browser; |
| 6 | 6 |
| 7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
| 8 import android.annotation.TargetApi; | 8 import android.annotation.TargetApi; |
| 9 import android.app.Activity; | 9 import android.app.Activity; |
| 10 import android.app.ActivityManager; | 10 import android.app.ActivityManager; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 import org.chromium.base.TraceEvent; | 44 import org.chromium.base.TraceEvent; |
| 45 import org.chromium.base.VisibleForTesting; | 45 import org.chromium.base.VisibleForTesting; |
| 46 import org.chromium.base.library_loader.LibraryLoader; | 46 import org.chromium.base.library_loader.LibraryLoader; |
| 47 import org.chromium.base.metrics.RecordHistogram; | 47 import org.chromium.base.metrics.RecordHistogram; |
| 48 import org.chromium.base.metrics.RecordUserAction; | 48 import org.chromium.base.metrics.RecordUserAction; |
| 49 import org.chromium.chrome.R; | 49 import org.chromium.chrome.R; |
| 50 import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; | 50 import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate; |
| 51 import org.chromium.chrome.browser.IntentHandler.TabOpenType; | 51 import org.chromium.chrome.browser.IntentHandler.TabOpenType; |
| 52 import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate; | 52 import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate; |
| 53 import org.chromium.chrome.browser.bookmarks.BookmarkUtils; | 53 import org.chromium.chrome.browser.bookmarks.BookmarkUtils; |
| 54 import org.chromium.chrome.browser.browseractions.BrowserActionsContextMenuItemD
elegate; |
| 54 import org.chromium.chrome.browser.compositor.CompositorViewHolder; | 55 import org.chromium.chrome.browser.compositor.CompositorViewHolder; |
| 55 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChange
Reason; | 56 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChange
Reason; |
| 56 import org.chromium.chrome.browser.compositor.layouts.Layout; | 57 import org.chromium.chrome.browser.compositor.layouts.Layout; |
| 57 import org.chromium.chrome.browser.compositor.layouts.LayoutManager; | 58 import org.chromium.chrome.browser.compositor.layouts.LayoutManager; |
| 58 import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome; | 59 import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome; |
| 59 import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone; | 60 import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone; |
| 60 import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromeTablet; | 61 import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromeTablet; |
| 61 import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.Overv
iewModeObserver; | 62 import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.Overv
iewModeObserver; |
| 62 import org.chromium.chrome.browser.compositor.layouts.phone.StackLayout; | 63 import org.chromium.chrome.browser.compositor.layouts.phone.StackLayout; |
| 63 import org.chromium.chrome.browser.cookies.CookiesFetcher; | 64 import org.chromium.chrome.browser.cookies.CookiesFetcher; |
| (...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 | 610 |
| 610 @Override | 611 @Override |
| 611 public void onStart() { | 612 public void onStart() { |
| 612 super.onStart(); | 613 super.onStart(); |
| 613 StartupMetrics.getInstance().updateIntent(getIntent()); | 614 StartupMetrics.getInstance().updateIntent(getIntent()); |
| 614 } | 615 } |
| 615 | 616 |
| 616 @Override | 617 @Override |
| 617 public void onStartWithNative() { | 618 public void onStartWithNative() { |
| 618 super.onStartWithNative(); | 619 super.onStartWithNative(); |
| 619 // If we don't have a current tab, show the overview mode. | 620 |
| 620 if (getActivityTab() == null && !mLayoutManager.overviewVisible()) { | 621 setInitialOverviewState(); |
| 621 mLayoutManager.showOverview(false); | 622 BrowserActionsContextMenuItemDelegate.cancelBrowserActionsNotification()
; |
| 622 } | |
| 623 | 623 |
| 624 resetSavedInstanceState(); | 624 resetSavedInstanceState(); |
| 625 } | 625 } |
| 626 | 626 |
| 627 @Override | 627 @Override |
| 628 public void onNewIntentWithNative(Intent intent) { | 628 public void onNewIntentWithNative(Intent intent) { |
| 629 try { | 629 try { |
| 630 TraceEvent.begin("ChromeTabbedActivity.onNewIntentWithNative"); | 630 TraceEvent.begin("ChromeTabbedActivity.onNewIntentWithNative"); |
| 631 | 631 |
| 632 super.onNewIntentWithNative(intent); | 632 super.onNewIntentWithNative(intent); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 666 | 666 |
| 667 private void handleDebugIntent(Intent intent) { | 667 private void handleDebugIntent(Intent intent) { |
| 668 if (ACTION_CLOSE_TABS.equals(intent.getAction())) { | 668 if (ACTION_CLOSE_TABS.equals(intent.getAction())) { |
| 669 getTabModelSelector().closeAllTabs(); | 669 getTabModelSelector().closeAllTabs(); |
| 670 } else if (MemoryPressureListener.handleDebugIntent(ChromeTabbedActivity
.this, | 670 } else if (MemoryPressureListener.handleDebugIntent(ChromeTabbedActivity
.this, |
| 671 intent.getAction())) { | 671 intent.getAction())) { |
| 672 // Handled. | 672 // Handled. |
| 673 } | 673 } |
| 674 } | 674 } |
| 675 | 675 |
| 676 private void setInitialOverviewState() { |
| 677 boolean isOverviewVisible = mLayoutManager.overviewVisible(); |
| 678 if (getActivityTab() == null && !isOverviewVisible) { |
| 679 toggleOverview(); |
| 680 } |
| 681 |
| 682 if (BrowserActionsContextMenuItemDelegate.toggleOverviewByBrowserActions
( |
| 683 getIntent(), isOverviewVisible)) { |
| 684 toggleOverview(); |
| 685 } |
| 686 } |
| 687 |
| 676 private void initializeUI() { | 688 private void initializeUI() { |
| 677 try { | 689 try { |
| 678 TraceEvent.begin("ChromeTabbedActivity.initializeUI"); | 690 TraceEvent.begin("ChromeTabbedActivity.initializeUI"); |
| 679 | 691 |
| 680 CompositorViewHolder compositorViewHolder = getCompositorViewHolder(
); | 692 CompositorViewHolder compositorViewHolder = getCompositorViewHolder(
); |
| 681 if (DeviceFormFactor.isTablet()) { | 693 if (DeviceFormFactor.isTablet()) { |
| 682 mLayoutManager = new LayoutManagerChromeTablet(compositorViewHol
der); | 694 mLayoutManager = new LayoutManagerChromeTablet(compositorViewHol
der); |
| 683 } else { | 695 } else { |
| 684 mLayoutManager = new LayoutManagerChromePhone(compositorViewHold
er); | 696 mLayoutManager = new LayoutManagerChromePhone(compositorViewHold
er); |
| 685 if (getBottomSheet() != null) { | 697 if (getBottomSheet() != null) { |
| (...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1816 null, | 1828 null, |
| 1817 intent); | 1829 intent); |
| 1818 } else { | 1830 } else { |
| 1819 return getTabCreator(false).launchUrlFromExternalApp(url, referer, h
eaders, | 1831 return getTabCreator(false).launchUrlFromExternalApp(url, referer, h
eaders, |
| 1820 externalAppId, forceNewTab, intent, mIntentHandlingTimeMs); | 1832 externalAppId, forceNewTab, intent, mIntentHandlingTimeMs); |
| 1821 } | 1833 } |
| 1822 } | 1834 } |
| 1823 | 1835 |
| 1824 private void toggleOverview() { | 1836 private void toggleOverview() { |
| 1825 Tab currentTab = getActivityTab(); | 1837 Tab currentTab = getActivityTab(); |
| 1826 ContentViewCore contentViewCore = | 1838 // If we don't have a current tab, show the overview mode. |
| 1827 currentTab != null ? currentTab.getContentViewCore() : null; | 1839 if (currentTab == null) { |
| 1840 mLayoutManager.showOverview(false); |
| 1841 return; |
| 1842 } |
| 1843 ContentViewCore contentViewCore = currentTab.getContentViewCore(); |
| 1828 | 1844 |
| 1829 if (!mLayoutManager.overviewVisible()) { | 1845 if (!mLayoutManager.overviewVisible()) { |
| 1830 getCompositorViewHolder().hideKeyboard(new Runnable() { | 1846 getCompositorViewHolder().hideKeyboard(new Runnable() { |
| 1831 @Override | 1847 @Override |
| 1832 public void run() { | 1848 public void run() { |
| 1833 mLayoutManager.showOverview(true); | 1849 mLayoutManager.showOverview(true); |
| 1834 } | 1850 } |
| 1835 }); | 1851 }); |
| 1836 if (contentViewCore != null) { | 1852 if (contentViewCore != null) { |
| 1837 contentViewCore.setAccessibilityState(false); | 1853 contentViewCore.setAccessibilityState(false); |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2142 if (info.id == sMergedInstanceTaskId) return true; | 2158 if (info.id == sMergedInstanceTaskId) return true; |
| 2143 } | 2159 } |
| 2144 return false; | 2160 return false; |
| 2145 } | 2161 } |
| 2146 | 2162 |
| 2147 @Override | 2163 @Override |
| 2148 public boolean supportsFullscreenActivity() { | 2164 public boolean supportsFullscreenActivity() { |
| 2149 return true; | 2165 return true; |
| 2150 } | 2166 } |
| 2151 } | 2167 } |
| OLD | NEW |