Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Unified Diff: chrome/browser/memory/tab_manager_unittest.cc

Issue 2711093002: Purge once random minutes(between 30min and 60min) after backgrounded. (Closed)
Patch Set: s/RUNNING/NOT_PURGED/g Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/memory/tab_manager_unittest.cc
diff --git a/chrome/browser/memory/tab_manager_unittest.cc b/chrome/browser/memory/tab_manager_unittest.cc
index c20c3946fc9d2b29eb99a79ca8ccaea6b7079005..5a2998101de78338469e0ebe0af046e478338b48 100644
--- a/chrome/browser/memory/tab_manager_unittest.cc
+++ b/chrome/browser/memory/tab_manager_unittest.cc
@@ -672,7 +672,7 @@ TEST_F(TabManagerTest, MAYBE_ChildProcessNotifications) {
ASSERT_TRUE(tabstrip.empty());
}
-TEST_F(TabManagerTest, NextPurgeAndSuspendState) {
+TEST_F(TabManagerTest, NextPurgeState) {
TabManager tab_manager;
TabStripDummyDelegate delegate;
TabStripModel tabstrip(&delegate, profile());
@@ -681,63 +681,44 @@ TEST_F(TabManagerTest, NextPurgeAndSuspendState) {
WebContents* test_contents = CreateWebContents();
tabstrip.AppendWebContents(test_contents, false);
- // Use default time-to-first-purge defined in TabManager.
- base::TimeDelta threshold = TabManager::kDefaultTimeToFirstPurge;
base::SimpleTestTickClock test_clock;
tab_manager.GetWebContentsData(test_contents)
- ->SetPurgeAndSuspendState(TabManager::RUNNING);
+ ->SetPurgeState(TabManager::NOT_PURGED);
+ tab_manager.GetWebContentsData(test_contents)
+ ->SetLastInactiveTime(test_clock.NowTicks());
+ // Use default time-to-first-purge defined in TabManager.
tab_manager.GetWebContentsData(test_contents)
- ->SetLastPurgeAndSuspendModifiedTimeForTesting(test_clock.NowTicks());
+ ->SetTimeToFirstPurge(TabManager::kDefaultTimeToFirstPurge);
- // Wait 30 minutes and verify that the tab is still RUNNING.
+ // Wait 30 minutes and verify that the tab is still NOT_PURGED.
test_clock.Advance(base::TimeDelta::FromMinutes(30));
- EXPECT_EQ(TabManager::RUNNING,
- tab_manager.GetNextPurgeAndSuspendState(
- test_contents, test_clock.NowTicks(), threshold));
+ EXPECT_EQ(
+ TabManager::NOT_PURGED,
+ tab_manager.GetNextPurgeState(test_contents, test_clock.NowTicks()));
// Wait another second and verify that it is now SUSPENDED.
test_clock.Advance(base::TimeDelta::FromSeconds(1));
- EXPECT_EQ(TabManager::SUSPENDED,
- tab_manager.GetNextPurgeAndSuspendState(
- test_contents, test_clock.NowTicks(), threshold));
+ EXPECT_EQ(
+ TabManager::PURGED,
+ tab_manager.GetNextPurgeState(test_contents, test_clock.NowTicks()));
tab_manager.GetWebContentsData(test_contents)
- ->SetPurgeAndSuspendState(TabManager::SUSPENDED);
+ ->SetPurgeState(TabManager::PURGED);
tab_manager.GetWebContentsData(test_contents)
- ->SetLastPurgeAndSuspendModifiedTimeForTesting(test_clock.NowTicks());
+ ->SetLastInactiveTime(test_clock.NowTicks());
test_clock.Advance(base::TimeDelta::FromSeconds(1200));
- EXPECT_EQ(TabManager::SUSPENDED,
- tab_manager.GetNextPurgeAndSuspendState(
- test_contents, test_clock.NowTicks(), threshold));
-
- test_clock.Advance(base::TimeDelta::FromSeconds(1));
- EXPECT_EQ(TabManager::RESUMED,
- tab_manager.GetNextPurgeAndSuspendState(
- test_contents, test_clock.NowTicks(), threshold));
-
- tab_manager.GetWebContentsData(test_contents)
- ->SetPurgeAndSuspendState(TabManager::RESUMED);
- tab_manager.GetWebContentsData(test_contents)
- ->SetLastPurgeAndSuspendModifiedTimeForTesting(test_clock.NowTicks());
-
- test_clock.Advance(base::TimeDelta::FromSeconds(10));
- EXPECT_EQ(TabManager::RESUMED,
- tab_manager.GetNextPurgeAndSuspendState(
- test_contents, test_clock.NowTicks(), threshold));
-
- test_clock.Advance(base::TimeDelta::FromSeconds(1));
- EXPECT_EQ(TabManager::SUSPENDED,
- tab_manager.GetNextPurgeAndSuspendState(
- test_contents, test_clock.NowTicks(), threshold));
+ EXPECT_EQ(
+ TabManager::PURGED,
+ tab_manager.GetNextPurgeState(test_contents, test_clock.NowTicks()));
// Clean up the tabstrip.
tabstrip.CloseAllTabs();
EXPECT_TRUE(tabstrip.empty());
}
-TEST_F(TabManagerTest, ActivateTabResetPurgeAndSuspendState) {
+TEST_F(TabManagerTest, ActivateTabResetPurgeState) {
TabManager tab_manager;
TabStripDummyDelegate delegate;
TabStripModel tabstrip(&delegate, profile());
@@ -750,29 +731,18 @@ TEST_F(TabManagerTest, ActivateTabResetPurgeAndSuspendState) {
base::SimpleTestTickClock test_clock;
- // Initially PurgeAndSuspend state should be RUNNING.
- EXPECT_EQ(TabManager::RUNNING,
- tab_manager.GetWebContentsData(tab2)->GetPurgeAndSuspendState());
+ // Initially PurgeAndSuspend state should be NOT_PURGED.
+ EXPECT_EQ(TabManager::NOT_PURGED,
+ tab_manager.GetWebContentsData(tab2)->GetPurgeState());
- tab_manager.GetWebContentsData(tab2)->SetPurgeAndSuspendState(
- TabManager::SUSPENDED);
- tab_manager.GetWebContentsData(tab2)
- ->SetLastPurgeAndSuspendModifiedTimeForTesting(test_clock.NowTicks());
+ tab_manager.GetWebContentsData(tab2)->SetPurgeState(TabManager::PURGED);
+ tab_manager.GetWebContentsData(tab2)->SetLastInactiveTime(
+ test_clock.NowTicks());
- // Activate tab2. Tab2's PurgeAndSuspend state should be RUNNING.
+ // Activate tab2. Tab2's PurgeAndSuspend state should be NOT_PURGED.
tabstrip.ActivateTabAt(1, true /* user_gesture */);
- EXPECT_EQ(TabManager::RUNNING,
- tab_manager.GetWebContentsData(tab2)->GetPurgeAndSuspendState());
-
- tab_manager.GetWebContentsData(tab1)->SetPurgeAndSuspendState(
- TabManager::RESUMED);
- tab_manager.GetWebContentsData(tab1)
- ->SetLastPurgeAndSuspendModifiedTimeForTesting(test_clock.NowTicks());
-
- // Activate tab1. Tab1's PurgeAndSuspend state should be RUNNING.
- tabstrip.ActivateTabAt(0, true /* user_gesture */);
- EXPECT_EQ(TabManager::RUNNING,
- tab_manager.GetWebContentsData(tab1)->GetPurgeAndSuspendState());
+ EXPECT_EQ(TabManager::NOT_PURGED,
+ tab_manager.GetWebContentsData(tab2)->GetPurgeState());
// Clean up the tabstrip.
tabstrip.CloseAllTabs();

Powered by Google App Engine
This is Rietveld 408576698