OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/browsing_data/browsing_data_remover.h" | 5 #include "chrome/browser/browsing_data/browsing_data_remover.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <list> | 10 #include <list> |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 #include "content/public/browser/browser_context.h" | 73 #include "content/public/browser/browser_context.h" |
74 #include "content/public/browser/cookie_store_factory.h" | 74 #include "content/public/browser/cookie_store_factory.h" |
75 #include "content/public/browser/dom_storage_context.h" | 75 #include "content/public/browser/dom_storage_context.h" |
76 #include "content/public/browser/local_storage_usage_info.h" | 76 #include "content/public/browser/local_storage_usage_info.h" |
77 #include "content/public/browser/permission_type.h" | 77 #include "content/public/browser/permission_type.h" |
78 #include "content/public/browser/storage_partition.h" | 78 #include "content/public/browser/storage_partition.h" |
79 #include "content/public/test/mock_download_manager.h" | 79 #include "content/public/test/mock_download_manager.h" |
80 #include "content/public/test/test_browser_thread.h" | 80 #include "content/public/test/test_browser_thread.h" |
81 #include "content/public/test/test_browser_thread_bundle.h" | 81 #include "content/public/test/test_browser_thread_bundle.h" |
82 #include "content/public/test/test_utils.h" | 82 #include "content/public/test/test_utils.h" |
| 83 #include "extensions/features/features.h" |
83 #include "net/cookies/cookie_store.h" | 84 #include "net/cookies/cookie_store.h" |
84 #include "net/http/http_network_session.h" | 85 #include "net/http/http_network_session.h" |
85 #include "net/http/http_transaction_factory.h" | 86 #include "net/http/http_transaction_factory.h" |
86 #include "net/ssl/channel_id_service.h" | 87 #include "net/ssl/channel_id_service.h" |
87 #include "net/ssl/channel_id_store.h" | 88 #include "net/ssl/channel_id_store.h" |
88 #include "net/ssl/ssl_client_cert_type.h" | 89 #include "net/ssl/ssl_client_cert_type.h" |
89 #include "net/url_request/url_request_context.h" | 90 #include "net/url_request/url_request_context.h" |
90 #include "net/url_request/url_request_context_getter.h" | 91 #include "net/url_request/url_request_context_getter.h" |
91 #include "testing/gmock/include/gmock/gmock.h" | 92 #include "testing/gmock/include/gmock/gmock.h" |
92 #include "testing/gtest/include/gtest/gtest.h" | 93 #include "testing/gtest/include/gtest/gtest.h" |
93 #include "third_party/skia/include/core/SkBitmap.h" | 94 #include "third_party/skia/include/core/SkBitmap.h" |
94 #include "ui/gfx/favicon_size.h" | 95 #include "ui/gfx/favicon_size.h" |
95 #include "url/origin.h" | 96 #include "url/origin.h" |
96 | 97 |
97 #if BUILDFLAG(ANDROID_JAVA_UI) | 98 #if BUILDFLAG(ANDROID_JAVA_UI) |
98 #include "chrome/browser/android/webapps/webapp_registry.h" | 99 #include "chrome/browser/android/webapps/webapp_registry.h" |
99 #endif | 100 #endif |
100 | 101 |
101 #if defined(OS_CHROMEOS) | 102 #if defined(OS_CHROMEOS) |
102 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" | 103 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" |
103 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" | 104 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" |
104 #include "chrome/browser/chromeos/settings/cros_settings.h" | 105 #include "chrome/browser/chromeos/settings/cros_settings.h" |
105 #include "chrome/browser/chromeos/settings/device_settings_service.h" | 106 #include "chrome/browser/chromeos/settings/device_settings_service.h" |
106 #include "chromeos/dbus/dbus_thread_manager.h" | 107 #include "chromeos/dbus/dbus_thread_manager.h" |
107 #include "chromeos/dbus/mock_cryptohome_client.h" | 108 #include "chromeos/dbus/mock_cryptohome_client.h" |
108 #include "components/signin/core/account_id/account_id.h" | 109 #include "components/signin/core/account_id/account_id.h" |
109 #endif | 110 #endif |
110 | 111 |
111 #if defined(ENABLE_EXTENSIONS) | 112 #if BUILDFLAG(ENABLE_EXTENSIONS) |
112 #include "chrome/browser/extensions/mock_extension_special_storage_policy.h" | 113 #include "chrome/browser/extensions/mock_extension_special_storage_policy.h" |
113 #endif | 114 #endif |
114 | 115 |
115 #if defined(ENABLE_PLUGINS) | 116 #if defined(ENABLE_PLUGINS) |
116 #include "chrome/browser/browsing_data/mock_browsing_data_flash_lso_helper.h" | 117 #include "chrome/browser/browsing_data/mock_browsing_data_flash_lso_helper.h" |
117 #endif | 118 #endif |
118 | 119 |
119 class MockExtensionSpecialStoragePolicy; | 120 class MockExtensionSpecialStoragePolicy; |
120 | 121 |
121 using content::BrowserThread; | 122 using content::BrowserThread; |
(...skipping 1003 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1125 | 1126 |
1126 #if BUILDFLAG(ANDROID_JAVA_UI) | 1127 #if BUILDFLAG(ANDROID_JAVA_UI) |
1127 remover_->OverrideWebappRegistryForTesting( | 1128 remover_->OverrideWebappRegistryForTesting( |
1128 std::unique_ptr<WebappRegistry>(new TestWebappRegistry())); | 1129 std::unique_ptr<WebappRegistry>(new TestWebappRegistry())); |
1129 #endif | 1130 #endif |
1130 } | 1131 } |
1131 | 1132 |
1132 ~BrowsingDataRemoverTest() override {} | 1133 ~BrowsingDataRemoverTest() override {} |
1133 | 1134 |
1134 void TearDown() override { | 1135 void TearDown() override { |
1135 #if defined(ENABLE_EXTENSIONS) | 1136 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1136 mock_policy_ = nullptr; | 1137 mock_policy_ = nullptr; |
1137 #endif | 1138 #endif |
1138 | 1139 |
1139 // TestingProfile contains a DOMStorageContext. BrowserContext's destructor | 1140 // TestingProfile contains a DOMStorageContext. BrowserContext's destructor |
1140 // posts a message to the WEBKIT thread to delete some of its member | 1141 // posts a message to the WEBKIT thread to delete some of its member |
1141 // variables. We need to ensure that the profile is destroyed, and that | 1142 // variables. We need to ensure that the profile is destroyed, and that |
1142 // the message loop is cleared out, before destroying the threads and loop. | 1143 // the message loop is cleared out, before destroying the threads and loop. |
1143 // Otherwise we leak memory. | 1144 // Otherwise we leak memory. |
1144 profile_.reset(); | 1145 profile_.reset(); |
1145 base::RunLoop().RunUntilIdle(); | 1146 base::RunLoop().RunUntilIdle(); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1206 | 1207 |
1207 int GetOriginTypeMask() { | 1208 int GetOriginTypeMask() { |
1208 return remover_->GetLastUsedOriginTypeMask(); | 1209 return remover_->GetLastUsedOriginTypeMask(); |
1209 } | 1210 } |
1210 | 1211 |
1211 StoragePartitionRemovalData GetStoragePartitionRemovalData() { | 1212 StoragePartitionRemovalData GetStoragePartitionRemovalData() { |
1212 return storage_partition_removal_data_; | 1213 return storage_partition_removal_data_; |
1213 } | 1214 } |
1214 | 1215 |
1215 MockExtensionSpecialStoragePolicy* CreateMockPolicy() { | 1216 MockExtensionSpecialStoragePolicy* CreateMockPolicy() { |
1216 #if defined(ENABLE_EXTENSIONS) | 1217 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1217 mock_policy_ = new MockExtensionSpecialStoragePolicy; | 1218 mock_policy_ = new MockExtensionSpecialStoragePolicy; |
1218 return mock_policy_.get(); | 1219 return mock_policy_.get(); |
1219 #else | 1220 #else |
1220 NOTREACHED(); | 1221 NOTREACHED(); |
1221 return nullptr; | 1222 return nullptr; |
1222 #endif | 1223 #endif |
1223 } | 1224 } |
1224 | 1225 |
1225 storage::SpecialStoragePolicy* mock_policy() { | 1226 storage::SpecialStoragePolicy* mock_policy() { |
1226 #if defined(ENABLE_EXTENSIONS) | 1227 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1227 return mock_policy_.get(); | 1228 return mock_policy_.get(); |
1228 #else | 1229 #else |
1229 return nullptr; | 1230 return nullptr; |
1230 #endif | 1231 #endif |
1231 } | 1232 } |
1232 | 1233 |
1233 // If |kOrigin1| is protected when extensions are enabled, the expected | 1234 // If |kOrigin1| is protected when extensions are enabled, the expected |
1234 // result for tests where the OriginMatcherFunction result is variable. | 1235 // result for tests where the OriginMatcherFunction result is variable. |
1235 bool ShouldRemoveForProtectedOriginOne() const { | 1236 bool ShouldRemoveForProtectedOriginOne() const { |
1236 #if defined(ENABLE_EXTENSIONS) | 1237 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1237 return false; | 1238 return false; |
1238 #else | 1239 #else |
1239 return true; | 1240 return true; |
1240 #endif | 1241 #endif |
1241 } | 1242 } |
1242 | 1243 |
1243 const ClearDomainReliabilityTester& clear_domain_reliability_tester() { | 1244 const ClearDomainReliabilityTester& clear_domain_reliability_tester() { |
1244 return clear_domain_reliability_tester_; | 1245 return clear_domain_reliability_tester_; |
1245 } | 1246 } |
1246 | 1247 |
1247 private: | 1248 private: |
1248 // Cached pointer to BrowsingDataRemover for access to testing methods. | 1249 // Cached pointer to BrowsingDataRemover for access to testing methods. |
1249 BrowsingDataRemover* remover_; | 1250 BrowsingDataRemover* remover_; |
1250 | 1251 |
1251 content::TestBrowserThreadBundle thread_bundle_; | 1252 content::TestBrowserThreadBundle thread_bundle_; |
1252 std::unique_ptr<TestingProfile> profile_; | 1253 std::unique_ptr<TestingProfile> profile_; |
1253 | 1254 |
1254 StoragePartitionRemovalData storage_partition_removal_data_; | 1255 StoragePartitionRemovalData storage_partition_removal_data_; |
1255 | 1256 |
1256 #if defined(ENABLE_EXTENSIONS) | 1257 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1257 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy_; | 1258 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy_; |
1258 #endif | 1259 #endif |
1259 | 1260 |
1260 // Needed to mock out DomainReliabilityService, even for unrelated tests. | 1261 // Needed to mock out DomainReliabilityService, even for unrelated tests. |
1261 ClearDomainReliabilityTester clear_domain_reliability_tester_; | 1262 ClearDomainReliabilityTester clear_domain_reliability_tester_; |
1262 | 1263 |
1263 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverTest); | 1264 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverTest); |
1264 }; | 1265 }; |
1265 | 1266 |
1266 // Tests --------------------------------------------------------------------- | 1267 // Tests --------------------------------------------------------------------- |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1440 BrowsingDataRemover::REMOVE_CHANNEL_IDS, | 1441 BrowsingDataRemover::REMOVE_CHANNEL_IDS, |
1441 filter_builder); | 1442 filter_builder); |
1442 | 1443 |
1443 EXPECT_EQ(1, tester.ChannelIDCount()); | 1444 EXPECT_EQ(1, tester.ChannelIDCount()); |
1444 net::ChannelIDStore::ChannelIDList channel_ids; | 1445 net::ChannelIDStore::ChannelIDList channel_ids; |
1445 tester.GetChannelIDList(&channel_ids); | 1446 tester.GetChannelIDList(&channel_ids); |
1446 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); | 1447 EXPECT_EQ(kTestRegisterableDomain3, channel_ids.front().server_identifier()); |
1447 } | 1448 } |
1448 | 1449 |
1449 TEST_F(BrowsingDataRemoverTest, RemoveUnprotectedLocalStorageForever) { | 1450 TEST_F(BrowsingDataRemoverTest, RemoveUnprotectedLocalStorageForever) { |
1450 #if defined(ENABLE_EXTENSIONS) | 1451 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1451 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1452 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1452 // Protect kOrigin1. | 1453 // Protect kOrigin1. |
1453 policy->AddProtected(kOrigin1.GetOrigin()); | 1454 policy->AddProtected(kOrigin1.GetOrigin()); |
1454 #endif | 1455 #endif |
1455 | 1456 |
1456 BlockUntilBrowsingDataRemoved(browsing_data::ALL_TIME, | 1457 BlockUntilBrowsingDataRemoved(browsing_data::ALL_TIME, |
1457 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, | 1458 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, |
1458 false); | 1459 false); |
1459 | 1460 |
1460 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 1461 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); |
1461 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1462 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1462 | 1463 |
1463 // Verify that storage partition was instructed to remove the data correctly. | 1464 // Verify that storage partition was instructed to remove the data correctly. |
1464 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); | 1465 StoragePartitionRemovalData removal_data = GetStoragePartitionRemovalData(); |
1465 EXPECT_EQ(removal_data.remove_mask, | 1466 EXPECT_EQ(removal_data.remove_mask, |
1466 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); | 1467 StoragePartition::REMOVE_DATA_MASK_LOCAL_STORAGE); |
1467 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1468 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1468 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1469 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1469 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1470 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1470 | 1471 |
1471 // Check origin matcher. | 1472 // Check origin matcher. |
1472 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), | 1473 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), |
1473 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1474 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1474 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1475 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1475 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1476 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1476 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); | 1477 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); |
1477 } | 1478 } |
1478 | 1479 |
1479 TEST_F(BrowsingDataRemoverTest, RemoveProtectedLocalStorageForever) { | 1480 TEST_F(BrowsingDataRemoverTest, RemoveProtectedLocalStorageForever) { |
1480 #if defined(ENABLE_EXTENSIONS) | 1481 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1481 // Protect kOrigin1. | 1482 // Protect kOrigin1. |
1482 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1483 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1483 policy->AddProtected(kOrigin1.GetOrigin()); | 1484 policy->AddProtected(kOrigin1.GetOrigin()); |
1484 #endif | 1485 #endif |
1485 | 1486 |
1486 BlockUntilBrowsingDataRemoved(browsing_data::ALL_TIME, | 1487 BlockUntilBrowsingDataRemoved(browsing_data::ALL_TIME, |
1487 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, | 1488 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, |
1488 true); | 1489 true); |
1489 | 1490 |
1490 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 1491 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); |
(...skipping 10 matching lines...) Expand all Loading... |
1501 | 1502 |
1502 // Check origin matcher all http origin will match since we specified | 1503 // Check origin matcher all http origin will match since we specified |
1503 // both protected and unprotected. | 1504 // both protected and unprotected. |
1504 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1505 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1505 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1506 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1506 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1507 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1507 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); | 1508 EXPECT_FALSE(removal_data.origin_matcher.Run(kOriginExt, mock_policy())); |
1508 } | 1509 } |
1509 | 1510 |
1510 TEST_F(BrowsingDataRemoverTest, RemoveLocalStorageForLastWeek) { | 1511 TEST_F(BrowsingDataRemoverTest, RemoveLocalStorageForLastWeek) { |
1511 #if defined(ENABLE_EXTENSIONS) | 1512 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1512 CreateMockPolicy(); | 1513 CreateMockPolicy(); |
1513 #endif | 1514 #endif |
1514 | 1515 |
1515 BlockUntilBrowsingDataRemoved(browsing_data::LAST_WEEK, | 1516 BlockUntilBrowsingDataRemoved(browsing_data::LAST_WEEK, |
1516 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, | 1517 BrowsingDataRemover::REMOVE_LOCAL_STORAGE, |
1517 false); | 1518 false); |
1518 | 1519 |
1519 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); | 1520 EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask()); |
1520 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); | 1521 EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginTypeMask()); |
1521 | 1522 |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1725 StoragePartition::REMOVE_DATA_MASK_WEBSQL | | 1726 StoragePartition::REMOVE_DATA_MASK_WEBSQL | |
1726 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 1727 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
1727 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | | 1728 StoragePartition::REMOVE_DATA_MASK_SERVICE_WORKERS | |
1728 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | | 1729 StoragePartition::REMOVE_DATA_MASK_CACHE_STORAGE | |
1729 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); | 1730 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB); |
1730 EXPECT_EQ(removal_data.quota_storage_remove_mask, | 1731 EXPECT_EQ(removal_data.quota_storage_remove_mask, |
1731 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1732 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1732 } | 1733 } |
1733 | 1734 |
1734 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) { | 1735 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) { |
1735 #if defined(ENABLE_EXTENSIONS) | 1736 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1736 CreateMockPolicy(); | 1737 CreateMockPolicy(); |
1737 #endif | 1738 #endif |
1738 | 1739 |
1739 BlockUntilBrowsingDataRemoved( | 1740 BlockUntilBrowsingDataRemoved( |
1740 browsing_data::ALL_TIME, | 1741 browsing_data::ALL_TIME, |
1741 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1742 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1742 BrowsingDataRemover::REMOVE_WEBSQL | | 1743 BrowsingDataRemover::REMOVE_WEBSQL | |
1743 BrowsingDataRemover::REMOVE_APPCACHE | | 1744 BrowsingDataRemover::REMOVE_APPCACHE | |
1744 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1745 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1745 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1746 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
(...skipping 23 matching lines...) Expand all Loading... |
1769 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1770 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1770 | 1771 |
1771 // Check that all related origin data would be removed, that is, origin | 1772 // Check that all related origin data would be removed, that is, origin |
1772 // matcher would match these origin. | 1773 // matcher would match these origin. |
1773 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1774 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1774 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1775 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1775 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1776 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1776 } | 1777 } |
1777 | 1778 |
1778 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) { | 1779 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) { |
1779 #if defined(ENABLE_EXTENSIONS) | 1780 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1780 CreateMockPolicy(); | 1781 CreateMockPolicy(); |
1781 #endif | 1782 #endif |
1782 | 1783 |
1783 BlockUntilBrowsingDataRemoved( | 1784 BlockUntilBrowsingDataRemoved( |
1784 browsing_data::ALL_TIME, | 1785 browsing_data::ALL_TIME, |
1785 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1786 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1786 BrowsingDataRemover::REMOVE_WEBSQL | | 1787 BrowsingDataRemover::REMOVE_WEBSQL | |
1787 BrowsingDataRemover::REMOVE_APPCACHE | | 1788 BrowsingDataRemover::REMOVE_APPCACHE | |
1788 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1789 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1789 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1790 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
(...skipping 23 matching lines...) Expand all Loading... |
1813 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 1814 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
1814 | 1815 |
1815 // Check that all related origin data would be removed, that is, origin | 1816 // Check that all related origin data would be removed, that is, origin |
1816 // matcher would match these origin. | 1817 // matcher would match these origin. |
1817 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 1818 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
1818 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 1819 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
1819 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 1820 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
1820 } | 1821 } |
1821 | 1822 |
1822 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) { | 1823 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) { |
1823 #if defined(ENABLE_EXTENSIONS) | 1824 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1824 CreateMockPolicy(); | 1825 CreateMockPolicy(); |
1825 #endif | 1826 #endif |
1826 | 1827 |
1827 BlockUntilBrowsingDataRemoved( | 1828 BlockUntilBrowsingDataRemoved( |
1828 browsing_data::ALL_TIME, | 1829 browsing_data::ALL_TIME, |
1829 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1830 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1830 BrowsingDataRemover::REMOVE_WEBSQL | | 1831 BrowsingDataRemover::REMOVE_WEBSQL | |
1831 BrowsingDataRemover::REMOVE_APPCACHE | | 1832 BrowsingDataRemover::REMOVE_APPCACHE | |
1832 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 1833 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
1833 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 1834 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1978 // Persistent data would be left out since we are not removing from | 1979 // Persistent data would be left out since we are not removing from |
1979 // beginning of time. | 1980 // beginning of time. |
1980 uint32_t expected_quota_mask = | 1981 uint32_t expected_quota_mask = |
1981 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; | 1982 ~StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; |
1982 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); | 1983 EXPECT_EQ(removal_data.quota_storage_remove_mask, expected_quota_mask); |
1983 // Check removal begin time. | 1984 // Check removal begin time. |
1984 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); | 1985 EXPECT_EQ(removal_data.remove_begin, GetBeginTime()); |
1985 } | 1986 } |
1986 | 1987 |
1987 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) { | 1988 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) { |
1988 #if defined(ENABLE_EXTENSIONS) | 1989 #if BUILDFLAG(ENABLE_EXTENSIONS) |
1989 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 1990 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
1990 // Protect kOrigin1. | 1991 // Protect kOrigin1. |
1991 policy->AddProtected(kOrigin1.GetOrigin()); | 1992 policy->AddProtected(kOrigin1.GetOrigin()); |
1992 #endif | 1993 #endif |
1993 | 1994 |
1994 BlockUntilBrowsingDataRemoved( | 1995 BlockUntilBrowsingDataRemoved( |
1995 browsing_data::ALL_TIME, | 1996 browsing_data::ALL_TIME, |
1996 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 1997 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
1997 BrowsingDataRemover::REMOVE_WEBSQL | | 1998 BrowsingDataRemover::REMOVE_WEBSQL | |
1998 BrowsingDataRemover::REMOVE_APPCACHE | | 1999 BrowsingDataRemover::REMOVE_APPCACHE | |
(...skipping 25 matching lines...) Expand all Loading... |
2024 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 2025 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
2025 | 2026 |
2026 // Check OriginMatcherFunction. | 2027 // Check OriginMatcherFunction. |
2027 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), | 2028 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), |
2028 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 2029 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
2029 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 2030 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
2030 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 2031 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
2031 } | 2032 } |
2032 | 2033 |
2033 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedSpecificOrigin) { | 2034 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedSpecificOrigin) { |
2034 #if defined(ENABLE_EXTENSIONS) | 2035 #if BUILDFLAG(ENABLE_EXTENSIONS) |
2035 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 2036 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
2036 // Protect kOrigin1. | 2037 // Protect kOrigin1. |
2037 policy->AddProtected(kOrigin1.GetOrigin()); | 2038 policy->AddProtected(kOrigin1.GetOrigin()); |
2038 #endif | 2039 #endif |
2039 | 2040 |
2040 RegistrableDomainFilterBuilder builder( | 2041 RegistrableDomainFilterBuilder builder( |
2041 RegistrableDomainFilterBuilder::WHITELIST); | 2042 RegistrableDomainFilterBuilder::WHITELIST); |
2042 builder.AddRegisterableDomain(kTestRegisterableDomain1); | 2043 builder.AddRegisterableDomain(kTestRegisterableDomain1); |
2043 | 2044 |
2044 // Try to remove kOrigin1. Expect failure. | 2045 // Try to remove kOrigin1. Expect failure. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2076 // Check OriginMatcherFunction. | 2077 // Check OriginMatcherFunction. |
2077 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), | 2078 EXPECT_EQ(ShouldRemoveForProtectedOriginOne(), |
2078 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 2079 removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
2079 // Since we use the matcher function to validate origins now, this should | 2080 // Since we use the matcher function to validate origins now, this should |
2080 // return false for the origins we're not trying to clear. | 2081 // return false for the origins we're not trying to clear. |
2081 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 2082 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
2082 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 2083 EXPECT_FALSE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
2083 } | 2084 } |
2084 | 2085 |
2085 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) { | 2086 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) { |
2086 #if defined(ENABLE_EXTENSIONS) | 2087 #if BUILDFLAG(ENABLE_EXTENSIONS) |
2087 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); | 2088 MockExtensionSpecialStoragePolicy* policy = CreateMockPolicy(); |
2088 // Protect kOrigin1. | 2089 // Protect kOrigin1. |
2089 policy->AddProtected(kOrigin1.GetOrigin()); | 2090 policy->AddProtected(kOrigin1.GetOrigin()); |
2090 #endif | 2091 #endif |
2091 | 2092 |
2092 // Try to remove kOrigin1. Expect success. | 2093 // Try to remove kOrigin1. Expect success. |
2093 BlockUntilBrowsingDataRemoved( | 2094 BlockUntilBrowsingDataRemoved( |
2094 browsing_data::ALL_TIME, | 2095 browsing_data::ALL_TIME, |
2095 BrowsingDataRemover::REMOVE_APPCACHE | | 2096 BrowsingDataRemover::REMOVE_APPCACHE | |
2096 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 2097 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
(...skipping 27 matching lines...) Expand all Loading... |
2124 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); | 2125 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL); |
2125 | 2126 |
2126 // Check OriginMatcherFunction, |kOrigin1| would match mask since we | 2127 // Check OriginMatcherFunction, |kOrigin1| would match mask since we |
2127 // would have 'protected' specified in origin_type_mask. | 2128 // would have 'protected' specified in origin_type_mask. |
2128 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); | 2129 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin1, mock_policy())); |
2129 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); | 2130 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin2, mock_policy())); |
2130 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); | 2131 EXPECT_TRUE(removal_data.origin_matcher.Run(kOrigin3, mock_policy())); |
2131 } | 2132 } |
2132 | 2133 |
2133 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) { | 2134 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) { |
2134 #if defined(ENABLE_EXTENSIONS) | 2135 #if BUILDFLAG(ENABLE_EXTENSIONS) |
2135 CreateMockPolicy(); | 2136 CreateMockPolicy(); |
2136 #endif | 2137 #endif |
2137 | 2138 |
2138 BlockUntilBrowsingDataRemoved( | 2139 BlockUntilBrowsingDataRemoved( |
2139 browsing_data::ALL_TIME, | 2140 browsing_data::ALL_TIME, |
2140 BrowsingDataRemover::REMOVE_APPCACHE | | 2141 BrowsingDataRemover::REMOVE_APPCACHE | |
2141 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | | 2142 BrowsingDataRemover::REMOVE_SERVICE_WORKERS | |
2142 BrowsingDataRemover::REMOVE_CACHE_STORAGE | | 2143 BrowsingDataRemover::REMOVE_CACHE_STORAGE | |
2143 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | | 2144 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | |
2144 BrowsingDataRemover::REMOVE_INDEXEDDB | | 2145 BrowsingDataRemover::REMOVE_INDEXEDDB | |
(...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3035 EXPECT_TRUE(remover->is_removing()); | 3036 EXPECT_TRUE(remover->is_removing()); |
3036 | 3037 |
3037 // Add one more deletion and wait for it. | 3038 // Add one more deletion and wait for it. |
3038 BlockUntilBrowsingDataRemoved( | 3039 BlockUntilBrowsingDataRemoved( |
3039 browsing_data::ALL_TIME, | 3040 browsing_data::ALL_TIME, |
3040 BrowsingDataRemover::REMOVE_COOKIES, | 3041 BrowsingDataRemover::REMOVE_COOKIES, |
3041 BrowsingDataHelper::UNPROTECTED_WEB); | 3042 BrowsingDataHelper::UNPROTECTED_WEB); |
3042 | 3043 |
3043 EXPECT_FALSE(remover->is_removing()); | 3044 EXPECT_FALSE(remover->is_removing()); |
3044 } | 3045 } |
OLD | NEW |