| Index: chrome/browser/resource_coordinator/tab_manager_unittest.cc
|
| diff --git a/chrome/browser/resource_coordinator/tab_manager_unittest.cc b/chrome/browser/resource_coordinator/tab_manager_unittest.cc
|
| index 60a00d2db21cae7479d83efe0eea664c8c3112bf..bb6e279bab72db94b4d21e0fb5ba78662059f092 100644
|
| --- a/chrome/browser/resource_coordinator/tab_manager_unittest.cc
|
| +++ b/chrome/browser/resource_coordinator/tab_manager_unittest.cc
|
| @@ -17,9 +17,11 @@
|
| #include "base/test/simple_test_tick_clock.h"
|
| #include "base/time/time.h"
|
| #include "build/build_config.h"
|
| +#include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/resource_coordinator/tab_manager_web_contents_data.h"
|
| #include "chrome/browser/resource_coordinator/tab_stats.h"
|
| +#include "chrome/browser/sessions/tab_loader.h"
|
| #include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| #include "chrome/browser/ui/tabs/test_tab_strip_model_delegate.h"
|
| #include "chrome/common/chrome_features.h"
|
| @@ -492,4 +494,23 @@ TEST_F(TabManagerTest, ActivateTabResetPurgeState) {
|
| EXPECT_FALSE(tab_manager.GetWebContentsData(tab2)->is_purged());
|
| }
|
|
|
| +TEST_F(TabManagerTest, OnSessionRestoreStartedAndEnded) {
|
| + content::WebContents* test_contents =
|
| + WebContentsTester::CreateTestWebContents(browser_context(), nullptr);
|
| +
|
| + std::vector<SessionRestoreDelegate::RestoredTab> restored_tabs{
|
| + SessionRestoreDelegate::RestoredTab(test_contents, true, false, false)};
|
| +
|
| + TabManager* tab_manager = g_browser_process->GetTabManager();
|
| + EXPECT_FALSE(tab_manager->IsInSessionRestore());
|
| +
|
| + TabLoader::RestoreTabs(restored_tabs, base::TimeTicks());
|
| + EXPECT_TRUE(tab_manager->IsInSessionRestore());
|
| +
|
| + WebContentsTester::For(test_contents)->NavigateAndCommit(GURL("about:blank"));
|
| + WebContentsTester::For(test_contents)->TestSetIsLoading(false);
|
| + // Session restore ends when all restored tabs finish loading
|
| + EXPECT_FALSE(tab_manager->IsInSessionRestore());
|
| +}
|
| +
|
| } // namespace resource_coordinator
|
|
|