Chromium Code Reviews| Index: chrome/browser/resource_coordinator/tab_manager.h |
| diff --git a/chrome/browser/resource_coordinator/tab_manager.h b/chrome/browser/resource_coordinator/tab_manager.h |
| index 3cd08c9805cdf1b94d247b258eccbf52a03d346f..0784a283775ee282abc2fd2f8862114160ae4acb 100644 |
| --- a/chrome/browser/resource_coordinator/tab_manager.h |
| +++ b/chrome/browser/resource_coordinator/tab_manager.h |
| @@ -24,6 +24,7 @@ |
| #include "build/build_config.h" |
| #include "chrome/browser/resource_coordinator/tab_manager_observer.h" |
| #include "chrome/browser/resource_coordinator/tab_stats.h" |
| +#include "chrome/browser/sessions/session_restore_observer.h" |
| #include "chrome/browser/ui/browser_tab_strip_tracker.h" |
| #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" |
| #include "ui/gfx/geometry/rect.h" |
| @@ -156,6 +157,11 @@ class TabManager : public TabStripModelObserver { |
| // the WebContents could be deleted if the user closed the tab. |
| static int64_t IdFromWebContents(content::WebContents* web_contents); |
| + // Return whether tabs are being loaded during session restore. |
| + bool IsSessionRestoreLoadingTabs() const { |
|
ducbui
2017/06/27 00:12:49
I changed this function name from "IsInSessionRest
|
| + return is_in_session_restore_tab_loading_; |
| + } |
| + |
| private: |
| FRIEND_TEST_ALL_PREFIXES(TabManagerTest, PurgeBackgroundRenderer); |
| FRIEND_TEST_ALL_PREFIXES(TabManagerTest, ActivateTabResetPurgeState); |
| @@ -321,6 +327,9 @@ class TabManager : public TabStripModelObserver { |
| // list is constructed from either |test_browser_info_list_| or BrowserList. |
| std::vector<BrowserInfo> GetBrowserInfoList() const; |
| + void OnSessionRestoreStartedLoadingTabs(); |
| + void OnSessionRestoreFinishedLoadingTabs(); |
| + |
| // Timer to periodically update the stats of the renderers. |
| base::RepeatingTimer update_timer_; |
| @@ -383,6 +392,11 @@ class TabManager : public TabStripModelObserver { |
| // List of observers that will receive notifications on state changes. |
| base::ObserverList<TabManagerObserver> observers_; |
| + bool is_in_session_restore_tab_loading_; |
| + |
| + class TabManagerSessionRestoreObserver; |
| + std::unique_ptr<TabManagerSessionRestoreObserver> session_restore_observer_; |
| + |
| // Weak pointer factory used for posting delayed tasks. |
| base::WeakPtrFactory<TabManager> weak_ptr_factory_; |