| Index: chrome/browser/browsing_data/cache_counter_browsertest.cc
|
| diff --git a/chrome/browser/browsing_data/cache_counter_browsertest.cc b/chrome/browser/browsing_data/cache_counter_browsertest.cc
|
| index a48f7215dcdccfce279d8f7e26fab5fb9193fc7a..aeb9656223b8657f5409d6a4cccad01ca1de78e6 100644
|
| --- a/chrome/browser/browsing_data/cache_counter_browsertest.cc
|
| +++ b/chrome/browser/browsing_data/cache_counter_browsertest.cc
|
| @@ -257,10 +257,7 @@ IN_PROC_BROWSER_TEST_F(CacheCounterTest, PrefIsFalse) {
|
| EXPECT_FALSE(counter.Pending());
|
| }
|
|
|
| -// Tests that the counting is restarted when the time period changes. Currently,
|
| -// the results should be the same for every period. This is because the counter
|
| -// always counts the size of the entire cache, and it is up to the UI
|
| -// to interpret it as exact value or upper bound.
|
| +// Tests that the counting is restarted when the time period changes.
|
| IN_PROC_BROWSER_TEST_F(CacheCounterTest, PeriodChanged) {
|
| CreateCacheEntry();
|
|
|
| @@ -273,22 +270,22 @@ IN_PROC_BROWSER_TEST_F(CacheCounterTest, PeriodChanged) {
|
| SetDeletionPeriodPref(browsing_data::LAST_HOUR);
|
| WaitForIOThread();
|
| browsing_data::BrowsingDataCounter::ResultInt result = GetResult();
|
| - EXPECT_TRUE(IsUpperLimit());
|
| + EXPECT_FALSE(IsUpperLimit());
|
|
|
| SetDeletionPeriodPref(browsing_data::LAST_DAY);
|
| WaitForIOThread();
|
| EXPECT_EQ(result, GetResult());
|
| - EXPECT_TRUE(IsUpperLimit());
|
| + EXPECT_FALSE(IsUpperLimit());
|
|
|
| SetDeletionPeriodPref(browsing_data::LAST_WEEK);
|
| WaitForIOThread();
|
| EXPECT_EQ(result, GetResult());
|
| - EXPECT_TRUE(IsUpperLimit());
|
| + EXPECT_FALSE(IsUpperLimit());
|
|
|
| SetDeletionPeriodPref(browsing_data::FOUR_WEEKS);
|
| WaitForIOThread();
|
| EXPECT_EQ(result, GetResult());
|
| - EXPECT_TRUE(IsUpperLimit());
|
| + EXPECT_FALSE(IsUpperLimit());
|
|
|
| SetDeletionPeriodPref(browsing_data::ALL_TIME);
|
| WaitForIOThread();
|
| @@ -296,4 +293,27 @@ IN_PROC_BROWSER_TEST_F(CacheCounterTest, PeriodChanged) {
|
| EXPECT_FALSE(IsUpperLimit());
|
| }
|
|
|
| +// Tests the cache size is estimated if the timeout runs out.
|
| +IN_PROC_BROWSER_TEST_F(CacheCounterTest, Timeout) {
|
| + CreateCacheEntry();
|
| +
|
| + Profile* profile = browser()->profile();
|
| + CacheCounter counter(profile);
|
| + counter.SetTimeout(base::TimeDelta());
|
| + counter.Init(
|
| + profile->GetPrefs(),
|
| + base::Bind(&CacheCounterTest::CountingCallback, base::Unretained(this)));
|
| +
|
| + SetDeletionPeriodPref(browsing_data::LAST_DAY);
|
| + WaitForIOThread();
|
| + EXPECT_GT(GetResult(), 0);
|
| + EXPECT_TRUE(IsUpperLimit());
|
| +
|
| + // Even with a timeout of 0, ALL_TIME shouldn't be returned as upper limit.
|
| + SetDeletionPeriodPref(browsing_data::ALL_TIME);
|
| + WaitForIOThread();
|
| + EXPECT_GT(GetResult(), 0);
|
| + EXPECT_FALSE(IsUpperLimit());
|
| +}
|
| +
|
| } // namespace
|
|
|