OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/file_util.h" | 5 #include "base/file_util.h" |
6 #include "base/message_loop/message_loop_proxy.h" | 6 #include "base/message_loop/message_loop_proxy.h" |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "base/threading/thread.h" | 8 #include "base/threading/thread.h" |
9 #include "content/browser/browser_thread_impl.h" | 9 #include "content/browser/browser_thread_impl.h" |
10 #include "content/browser/gpu/shader_disk_cache.h" | 10 #include "content/browser/gpu/shader_disk_cache.h" |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 | 42 |
43 const base::FilePath::CharType kDomStorageOrigin1[] = | 43 const base::FilePath::CharType kDomStorageOrigin1[] = |
44 FILE_PATH_LITERAL("http_host1_1.localstorage"); | 44 FILE_PATH_LITERAL("http_host1_1.localstorage"); |
45 | 45 |
46 const base::FilePath::CharType kDomStorageOrigin2[] = | 46 const base::FilePath::CharType kDomStorageOrigin2[] = |
47 FILE_PATH_LITERAL("http_host2_1.localstorage"); | 47 FILE_PATH_LITERAL("http_host2_1.localstorage"); |
48 | 48 |
49 const base::FilePath::CharType kDomStorageOrigin3[] = | 49 const base::FilePath::CharType kDomStorageOrigin3[] = |
50 FILE_PATH_LITERAL("http_host3_1.localstorage"); | 50 FILE_PATH_LITERAL("http_host3_1.localstorage"); |
51 | 51 |
52 const quota::StorageType kTemporary = quota::kStorageTypeTemporary; | 52 const storage::StorageType kTemporary = storage::kStorageTypeTemporary; |
53 const quota::StorageType kPersistent = quota::kStorageTypePersistent; | 53 const storage::StorageType kPersistent = storage::kStorageTypePersistent; |
54 | 54 |
55 const quota::QuotaClient::ID kClientFile = quota::QuotaClient::kFileSystem; | 55 const storage::QuotaClient::ID kClientFile = storage::QuotaClient::kFileSystem; |
56 | 56 |
57 const uint32 kAllQuotaRemoveMask = | 57 const uint32 kAllQuotaRemoveMask = |
58 StoragePartition::REMOVE_DATA_MASK_APPCACHE | | 58 StoragePartition::REMOVE_DATA_MASK_APPCACHE | |
59 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | | 59 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS | |
60 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB | | 60 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB | |
61 StoragePartition::REMOVE_DATA_MASK_WEBSQL; | 61 StoragePartition::REMOVE_DATA_MASK_WEBSQL; |
62 | 62 |
63 class AwaitCompletionHelper { | 63 class AwaitCompletionHelper { |
64 public: | 64 public: |
65 AwaitCompletionHelper() : start_(false), already_quit_(false) {} | 65 AwaitCompletionHelper() : start_(false), already_quit_(false) {} |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 | 218 |
219 DISALLOW_COPY_AND_ASSIGN(RemoveLocalStorageTester); | 219 DISALLOW_COPY_AND_ASSIGN(RemoveLocalStorageTester); |
220 }; | 220 }; |
221 | 221 |
222 bool IsWebSafeSchemeForTest(const std::string& scheme) { | 222 bool IsWebSafeSchemeForTest(const std::string& scheme) { |
223 return scheme == "http"; | 223 return scheme == "http"; |
224 } | 224 } |
225 | 225 |
226 bool DoesOriginMatchForUnprotectedWeb( | 226 bool DoesOriginMatchForUnprotectedWeb( |
227 const GURL& origin, | 227 const GURL& origin, |
228 quota::SpecialStoragePolicy* special_storage_policy) { | 228 storage::SpecialStoragePolicy* special_storage_policy) { |
229 if (IsWebSafeSchemeForTest(origin.scheme())) | 229 if (IsWebSafeSchemeForTest(origin.scheme())) |
230 return !special_storage_policy->IsStorageProtected(origin.GetOrigin()); | 230 return !special_storage_policy->IsStorageProtected(origin.GetOrigin()); |
231 | 231 |
232 return false; | 232 return false; |
233 } | 233 } |
234 | 234 |
235 bool DoesOriginMatchForBothProtectedAndUnprotectedWeb( | 235 bool DoesOriginMatchForBothProtectedAndUnprotectedWeb( |
236 const GURL& origin, | 236 const GURL& origin, |
237 quota::SpecialStoragePolicy* special_storage_policy) { | 237 storage::SpecialStoragePolicy* special_storage_policy) { |
238 return true; | 238 return true; |
239 } | 239 } |
240 | 240 |
241 bool DoesOriginMatchUnprotected( | 241 bool DoesOriginMatchUnprotected( |
242 const GURL& origin, | 242 const GURL& origin, |
243 quota::SpecialStoragePolicy* special_storage_policy) { | 243 storage::SpecialStoragePolicy* special_storage_policy) { |
244 return origin.GetOrigin().scheme() != kOriginDevTools.scheme(); | 244 return origin.GetOrigin().scheme() != kOriginDevTools.scheme(); |
245 } | 245 } |
246 | 246 |
247 void ClearQuotaData(content::StoragePartition* partition, | 247 void ClearQuotaData(content::StoragePartition* partition, |
248 base::RunLoop* loop_to_quit) { | 248 base::RunLoop* loop_to_quit) { |
249 partition->ClearData(kAllQuotaRemoveMask, | 249 partition->ClearData(kAllQuotaRemoveMask, |
250 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL, GURL(), | 250 StoragePartition::QUOTA_MANAGED_STORAGE_MASK_ALL, GURL(), |
251 StoragePartition::OriginMatcherFunction(), base::Time(), | 251 StoragePartition::OriginMatcherFunction(), base::Time(), |
252 base::Time::Max(), loop_to_quit->QuitClosure()); | 252 base::Time::Max(), loop_to_quit->QuitClosure()); |
253 } | 253 } |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 base::MessageLoop::current()->PostTask( | 406 base::MessageLoop::current()->PostTask( |
407 FROM_HERE, base::Bind( | 407 FROM_HERE, base::Bind( |
408 &ClearData, | 408 &ClearData, |
409 BrowserContext::GetDefaultStoragePartition(browser_context()), | 409 BrowserContext::GetDefaultStoragePartition(browser_context()), |
410 &run_loop)); | 410 &run_loop)); |
411 run_loop.Run(); | 411 run_loop.Run(); |
412 EXPECT_EQ(0u, Size()); | 412 EXPECT_EQ(0u, Size()); |
413 } | 413 } |
414 | 414 |
415 TEST_F(StoragePartitionImplTest, QuotaClientMaskGeneration) { | 415 TEST_F(StoragePartitionImplTest, QuotaClientMaskGeneration) { |
416 EXPECT_EQ(quota::QuotaClient::kFileSystem, | 416 EXPECT_EQ(storage::QuotaClient::kFileSystem, |
417 StoragePartitionImpl::GenerateQuotaClientMask( | 417 StoragePartitionImpl::GenerateQuotaClientMask( |
418 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS)); | 418 StoragePartition::REMOVE_DATA_MASK_FILE_SYSTEMS)); |
419 EXPECT_EQ(quota::QuotaClient::kDatabase, | 419 EXPECT_EQ(storage::QuotaClient::kDatabase, |
420 StoragePartitionImpl::GenerateQuotaClientMask( | 420 StoragePartitionImpl::GenerateQuotaClientMask( |
421 StoragePartition::REMOVE_DATA_MASK_WEBSQL)); | 421 StoragePartition::REMOVE_DATA_MASK_WEBSQL)); |
422 EXPECT_EQ(quota::QuotaClient::kAppcache, | 422 EXPECT_EQ(storage::QuotaClient::kAppcache, |
423 StoragePartitionImpl::GenerateQuotaClientMask( | 423 StoragePartitionImpl::GenerateQuotaClientMask( |
424 StoragePartition::REMOVE_DATA_MASK_APPCACHE)); | 424 StoragePartition::REMOVE_DATA_MASK_APPCACHE)); |
425 EXPECT_EQ(quota::QuotaClient::kIndexedDatabase, | 425 EXPECT_EQ(storage::QuotaClient::kIndexedDatabase, |
426 StoragePartitionImpl::GenerateQuotaClientMask( | 426 StoragePartitionImpl::GenerateQuotaClientMask( |
427 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB)); | 427 StoragePartition::REMOVE_DATA_MASK_INDEXEDDB)); |
428 EXPECT_EQ(quota::QuotaClient::kFileSystem | | 428 EXPECT_EQ(storage::QuotaClient::kFileSystem | |
429 quota::QuotaClient::kDatabase | | 429 storage::QuotaClient::kDatabase | |
430 quota::QuotaClient::kAppcache | | 430 storage::QuotaClient::kAppcache | |
431 quota::QuotaClient::kIndexedDatabase, | 431 storage::QuotaClient::kIndexedDatabase, |
432 StoragePartitionImpl::GenerateQuotaClientMask(kAllQuotaRemoveMask)); | 432 StoragePartitionImpl::GenerateQuotaClientMask(kAllQuotaRemoveMask)); |
433 } | 433 } |
434 | 434 |
435 void PopulateTestQuotaManagedPersistentData(MockQuotaManager* manager) { | 435 void PopulateTestQuotaManagedPersistentData(MockQuotaManager* manager) { |
436 manager->AddOrigin(kOrigin2, kPersistent, kClientFile, base::Time()); | 436 manager->AddOrigin(kOrigin2, kPersistent, kClientFile, base::Time()); |
437 manager->AddOrigin(kOrigin3, kPersistent, kClientFile, | 437 manager->AddOrigin(kOrigin3, kPersistent, kClientFile, |
438 base::Time::Now() - base::TimeDelta::FromDays(1)); | 438 base::Time::Now() - base::TimeDelta::FromDays(1)); |
439 | 439 |
440 EXPECT_FALSE(manager->OriginHasData(kOrigin1, kPersistent, kClientFile)); | 440 EXPECT_FALSE(manager->OriginHasData(kOrigin1, kPersistent, kClientFile)); |
441 EXPECT_TRUE(manager->OriginHasData(kOrigin2, kPersistent, kClientFile)); | 441 EXPECT_TRUE(manager->OriginHasData(kOrigin2, kPersistent, kClientFile)); |
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
921 &run_loop)); | 921 &run_loop)); |
922 run_loop.Run(); | 922 run_loop.Run(); |
923 | 923 |
924 // kOrigin1 and kOrigin2 do not have age more than a week. | 924 // kOrigin1 and kOrigin2 do not have age more than a week. |
925 EXPECT_FALSE(tester.DOMStorageExistsForOrigin(kOrigin1)); | 925 EXPECT_FALSE(tester.DOMStorageExistsForOrigin(kOrigin1)); |
926 EXPECT_FALSE(tester.DOMStorageExistsForOrigin(kOrigin2)); | 926 EXPECT_FALSE(tester.DOMStorageExistsForOrigin(kOrigin2)); |
927 EXPECT_TRUE(tester.DOMStorageExistsForOrigin(kOrigin3)); | 927 EXPECT_TRUE(tester.DOMStorageExistsForOrigin(kOrigin3)); |
928 } | 928 } |
929 | 929 |
930 } // namespace content | 930 } // namespace content |
OLD | NEW |