| Index: chrome/browser/browsing_data_remover_unittest.cc
|
| diff --git a/chrome/browser/browsing_data_remover_unittest.cc b/chrome/browser/browsing_data_remover_unittest.cc
|
| index f9ca164aaa71a90c7fe5a17211105d4f2421a25c..f3b3c0ee60ef9f8d646ae5c07819330b0dca2fce 100644
|
| --- a/chrome/browser/browsing_data_remover_unittest.cc
|
| +++ b/chrome/browser/browsing_data_remover_unittest.cc
|
| @@ -368,6 +368,7 @@ class BrowsingDataRemoverTest : public testing::Test,
|
|
|
| void BlockUntilBrowsingDataRemoved(BrowsingDataRemover::TimePeriod period,
|
| int remove_mask,
|
| + bool include_protected_origins,
|
| BrowsingDataRemoverTester* tester) {
|
| BrowsingDataRemover* remover = new BrowsingDataRemover(
|
| profile_.get(), period,
|
| @@ -378,7 +379,10 @@ class BrowsingDataRemoverTest : public testing::Test,
|
| called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
|
|
|
| // BrowsingDataRemover deletes itself when it completes.
|
| - remover->Remove(remove_mask);
|
| + int origin_set_mask = BrowsingDataRemover::UNPROTECTED_WEB;
|
| + if (include_protected_origins)
|
| + origin_set_mask |= BrowsingDataRemover::PROTECTED_WEB;
|
| + remover->Remove(remove_mask, origin_set_mask);
|
| tester->BlockUntilNotified();
|
| }
|
|
|
| @@ -395,7 +399,8 @@ class BrowsingDataRemoverTest : public testing::Test,
|
| called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
|
|
|
| // BrowsingDataRemover deletes itself when it completes.
|
| - remover->RemoveImpl(remove_mask, remove_origin, false);
|
| + remover->RemoveImpl(remove_mask, remove_origin,
|
| + BrowsingDataRemover::UNPROTECTED_WEB);
|
| tester->BlockUntilNotified();
|
| }
|
|
|
| @@ -470,7 +475,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) {
|
| ASSERT_TRUE(tester->ContainsCookie());
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| - BrowsingDataRemover::REMOVE_COOKIES, tester.get());
|
| + BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
|
| EXPECT_FALSE(tester->ContainsCookie());
|
| @@ -484,7 +489,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) {
|
| ASSERT_TRUE(tester->ContainsCookie());
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
|
| - BrowsingDataRemover::REMOVE_COOKIES, tester.get());
|
| + BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
|
| EXPECT_FALSE(tester->ContainsCookie());
|
| @@ -499,7 +504,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) {
|
| ASSERT_TRUE(tester->ContainsCookie());
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| - BrowsingDataRemover::REMOVE_COOKIES, tester.get());
|
| + BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
|
| EXPECT_FALSE(tester->ContainsCookie());
|
| @@ -513,7 +518,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieLastHour) {
|
| ASSERT_TRUE(tester->ContainsCookie());
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
|
| - BrowsingDataRemover::REMOVE_COOKIES, tester.get());
|
| + BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
|
| // Removing with time period other than EVERYTHING should not clear safe
|
| @@ -530,7 +535,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertForever) {
|
| EXPECT_EQ(1, tester->ServerBoundCertCount());
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| - BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get());
|
| + BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, false, tester.get());
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
|
| EXPECT_EQ(0, tester->ServerBoundCertCount());
|
| @@ -548,7 +553,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertLastHour) {
|
| EXPECT_EQ(2, tester->ServerBoundCertCount());
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
|
| - BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get());
|
| + BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, false, tester.get());
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
|
| EXPECT_EQ(1, tester->ServerBoundCertCount());
|
| @@ -565,7 +570,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) {
|
| ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| - BrowsingDataRemover::REMOVE_HISTORY, tester.get());
|
| + BrowsingDataRemover::REMOVE_HISTORY, false, tester.get());
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
|
| EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
|
| @@ -583,7 +588,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) {
|
| ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
|
| - BrowsingDataRemover::REMOVE_HISTORY, tester.get());
|
| + BrowsingDataRemover::REMOVE_HISTORY, false, tester.get());
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
|
| EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
|
| @@ -618,7 +623,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) {
|
| tester_.PopulateTestQuotaManagedData(GetMockManager());
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_);
|
| + ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
|
| @@ -640,7 +645,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) {
|
| tester_.PopulateTestQuotaManagedTemporaryData(GetMockManager());
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_);
|
| + ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
|
| @@ -662,7 +667,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) {
|
| tester_.PopulateTestQuotaManagedPersistentData(GetMockManager());
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_);
|
| + ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
|
| @@ -684,7 +689,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) {
|
| GetMockManager(); // Creates the QuotaManager instance.
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_);
|
| + ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
|
| @@ -735,7 +740,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) {
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_);
|
| + ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
|
| @@ -758,7 +763,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) {
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK,
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_);
|
| + ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
|
| @@ -787,7 +792,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) {
|
|
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| - ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_);
|
| + ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
|
| @@ -839,6 +844,40 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedSpecificOrigin) {
|
| kClientFile));
|
| }
|
|
|
| +TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) {
|
| + // Protect kOrigin1.
|
| + scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
|
| + new MockExtensionSpecialStoragePolicy;
|
| + mock_policy->AddProtected(kOrigin1.GetOrigin());
|
| + GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
|
| +
|
| + tester_.PopulateTestQuotaManagedData(GetMockManager());
|
| +
|
| + // Try to remove kOrigin1. Expect success.
|
| + BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| + BrowsingDataRemover::REMOVE_APPCACHE |
|
| + BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
|
| + BrowsingDataRemover::REMOVE_INDEXEDDB |
|
| + BrowsingDataRemover::REMOVE_WEBSQL, true, &tester_);
|
| +
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
|
| + BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
|
| + BrowsingDataRemover::REMOVE_INDEXEDDB |
|
| + BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
|
| + EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
|
| + kClientFile));
|
| + EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
|
| + kClientFile));
|
| + EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
|
| + kClientFile));
|
| + EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
|
| + kClientFile));
|
| + EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
|
| + kClientFile));
|
| + EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
|
| + kClientFile));
|
| +}
|
| +
|
| TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) {
|
| tester_.PopulateTestQuotaManagedNonBrowsingData(GetMockManager());
|
|
|
| @@ -846,7 +885,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) {
|
| BrowsingDataRemover::REMOVE_APPCACHE |
|
| BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
|
| BrowsingDataRemover::REMOVE_INDEXEDDB |
|
| - BrowsingDataRemover::REMOVE_WEBSQL, &tester_);
|
| + BrowsingDataRemover::REMOVE_WEBSQL, false, &tester_);
|
|
|
| EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
|
| BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
|
|
|