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

Side by Side Diff: chrome/browser/browsing_data_remover_unittest.cc

Issue 9958111: Adding a BrowsingDataHelper class to hold some useful methods. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase onto trunk. Created 8 years, 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/browsing_data_remover.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_remover.h" 5 #include "chrome/browser/browsing_data_remover.h"
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 22 matching lines...) Expand all
33 #include "webkit/fileapi/file_system_operation_context.h" 33 #include "webkit/fileapi/file_system_operation_context.h"
34 #include "webkit/fileapi/sandbox_mount_point_provider.h" 34 #include "webkit/fileapi/sandbox_mount_point_provider.h"
35 #include "webkit/quota/mock_quota_manager.h" 35 #include "webkit/quota/mock_quota_manager.h"
36 #include "webkit/quota/quota_manager.h" 36 #include "webkit/quota/quota_manager.h"
37 #include "webkit/quota/quota_types.h" 37 #include "webkit/quota/quota_types.h"
38 38
39 using content::BrowserThread; 39 using content::BrowserThread;
40 40
41 namespace { 41 namespace {
42 42
43 const char kTestkOrigin1[] = "http://host1:1/"; 43 const char kTestOrigin1[] = "http://host1:1/";
44 const char kTestkOrigin2[] = "http://host2:1/"; 44 const char kTestOrigin2[] = "http://host2:1/";
45 const char kTestkOrigin3[] = "http://host3:1/"; 45 const char kTestOrigin3[] = "http://host3:1/";
46 const char kTestOriginExt[] = "chrome-extension://abcdefghijklmnopqrstuvwxyz/";
47 const char kTestOriginDevTools[] = "chrome-devtools://abcdefghijklmnopqrstuvw/";
46 48
47 const GURL kOrigin1(kTestkOrigin1); 49 const GURL kOrigin1(kTestOrigin1);
48 const GURL kOrigin2(kTestkOrigin2); 50 const GURL kOrigin2(kTestOrigin2);
49 const GURL kOrigin3(kTestkOrigin3); 51 const GURL kOrigin3(kTestOrigin3);
52 const GURL kOriginExt(kTestOriginExt);
53 const GURL kOriginDevTools(kTestOriginDevTools);
50 54
51 const quota::StorageType kTemporary = quota::kStorageTypeTemporary; 55 const quota::StorageType kTemporary = quota::kStorageTypeTemporary;
52 const quota::StorageType kPersistent = quota::kStorageTypePersistent; 56 const quota::StorageType kPersistent = quota::kStorageTypePersistent;
53 57
54 const quota::QuotaClient::ID kClientFile = quota::QuotaClient::kFileSystem; 58 const quota::QuotaClient::ID kClientFile = quota::QuotaClient::kFileSystem;
55 const quota::QuotaClient::ID kClientDB = quota::QuotaClient::kIndexedDatabase; 59 const quota::QuotaClient::ID kClientDB = quota::QuotaClient::kIndexedDatabase;
56 60
57 } // namespace 61 } // namespace
58 62
59 class BrowsingDataRemoverTester : public BrowsingDataRemover::Observer { 63 class BrowsingDataRemoverTester : public BrowsingDataRemover::Observer {
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 299
296 void PopulateTestQuotaManagedData(quota::MockQuotaManager* manager) { 300 void PopulateTestQuotaManagedData(quota::MockQuotaManager* manager) {
297 // Set up kOrigin1 with a temporary quota, kOrigin2 with a persistent 301 // Set up kOrigin1 with a temporary quota, kOrigin2 with a persistent
298 // quota, and kOrigin3 with both. kOrigin1 is modified now, kOrigin2 302 // quota, and kOrigin3 with both. kOrigin1 is modified now, kOrigin2
299 // is modified at the beginning of time, and kOrigin3 is modified one day 303 // is modified at the beginning of time, and kOrigin3 is modified one day
300 // ago. 304 // ago.
301 PopulateTestQuotaManagedPersistentData(manager); 305 PopulateTestQuotaManagedPersistentData(manager);
302 PopulateTestQuotaManagedTemporaryData(manager); 306 PopulateTestQuotaManagedTemporaryData(manager);
303 } 307 }
304 308
309 void PopulateTestQuotaManagedNonBrowsingData(
310 quota::MockQuotaManager* manager) {
311 manager->AddOrigin(kOriginDevTools, kTemporary, kClientFile, base::Time());
312 manager->AddOrigin(kOriginDevTools, kPersistent, kClientFile, base::Time());
313 manager->AddOrigin(kOriginExt, kTemporary, kClientFile, base::Time());
314 manager->AddOrigin(kOriginExt, kPersistent, kClientFile, base::Time());
315 }
316
305 void PopulateTestQuotaManagedPersistentData( 317 void PopulateTestQuotaManagedPersistentData(
306 quota::MockQuotaManager* manager) { 318 quota::MockQuotaManager* manager) {
307 manager->AddOrigin(kOrigin2, kPersistent, kClientFile, base::Time()); 319 manager->AddOrigin(kOrigin2, kPersistent, kClientFile, base::Time());
308 manager->AddOrigin(kOrigin3, kPersistent, kClientFile, 320 manager->AddOrigin(kOrigin3, kPersistent, kClientFile,
309 base::Time::Now() - base::TimeDelta::FromDays(1)); 321 base::Time::Now() - base::TimeDelta::FromDays(1));
310 322
311 EXPECT_FALSE(manager->OriginHasData(kOrigin1, kPersistent, kClientFile)); 323 EXPECT_FALSE(manager->OriginHasData(kOrigin1, kPersistent, kClientFile));
312 EXPECT_TRUE(manager->OriginHasData(kOrigin2, kPersistent, kClientFile)); 324 EXPECT_TRUE(manager->OriginHasData(kOrigin2, kPersistent, kClientFile));
313 EXPECT_TRUE(manager->OriginHasData(kOrigin3, kPersistent, kClientFile)); 325 EXPECT_TRUE(manager->OriginHasData(kOrigin3, kPersistent, kClientFile));
314 } 326 }
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 // Removing with time period other than EVERYTHING should not clear safe 520 // Removing with time period other than EVERYTHING should not clear safe
509 // browsing cookies. 521 // browsing cookies.
510 EXPECT_TRUE(tester->ContainsCookie()); 522 EXPECT_TRUE(tester->ContainsCookie());
511 } 523 }
512 #endif 524 #endif
513 525
514 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertForever) { 526 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertForever) {
515 scoped_ptr<RemoveServerBoundCertTester> tester( 527 scoped_ptr<RemoveServerBoundCertTester> tester(
516 new RemoveServerBoundCertTester(GetProfile())); 528 new RemoveServerBoundCertTester(GetProfile()));
517 529
518 tester->AddServerBoundCert(kTestkOrigin1); 530 tester->AddServerBoundCert(kTestOrigin1);
519 EXPECT_EQ(1, tester->ServerBoundCertCount()); 531 EXPECT_EQ(1, tester->ServerBoundCertCount());
520 532
521 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 533 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
522 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get()); 534 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get());
523 535
524 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask()); 536 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
525 EXPECT_EQ(0, tester->ServerBoundCertCount()); 537 EXPECT_EQ(0, tester->ServerBoundCertCount());
526 } 538 }
527 539
528 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertLastHour) { 540 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertLastHour) {
529 scoped_ptr<RemoveServerBoundCertTester> tester( 541 scoped_ptr<RemoveServerBoundCertTester> tester(
530 new RemoveServerBoundCertTester(GetProfile())); 542 new RemoveServerBoundCertTester(GetProfile()));
531 543
532 base::Time now = base::Time::Now(); 544 base::Time now = base::Time::Now();
533 tester->AddServerBoundCert(kTestkOrigin1); 545 tester->AddServerBoundCert(kTestOrigin1);
534 tester->AddServerBoundCertWithTimes(kTestkOrigin2, 546 tester->AddServerBoundCertWithTimes(kTestOrigin2,
535 now - base::TimeDelta::FromHours(2), 547 now - base::TimeDelta::FromHours(2),
536 now); 548 now);
537 EXPECT_EQ(2, tester->ServerBoundCertCount()); 549 EXPECT_EQ(2, tester->ServerBoundCertCount());
538 550
539 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 551 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
540 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get()); 552 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get());
541 553
542 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask()); 554 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
543 EXPECT_EQ(1, tester->ServerBoundCertCount()); 555 EXPECT_EQ(1, tester->ServerBoundCertCount());
544 std::vector<net::ServerBoundCertStore::ServerBoundCert> certs; 556 std::vector<net::ServerBoundCertStore::ServerBoundCert> certs;
545 tester->GetCertStore()->GetAllServerBoundCerts(&certs); 557 tester->GetCertStore()->GetAllServerBoundCerts(&certs);
546 EXPECT_EQ(kTestkOrigin2, certs[0].server_identifier()); 558 EXPECT_EQ(kTestOrigin2, certs[0].server_identifier());
547 } 559 }
548 560
549 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) { 561 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) {
550 scoped_ptr<RemoveHistoryTester> tester( 562 scoped_ptr<RemoveHistoryTester> tester(
551 new RemoveHistoryTester(GetProfile())); 563 new RemoveHistoryTester(GetProfile()));
552 564
553 tester->AddHistory(kOrigin1, base::Time::Now()); 565 tester->AddHistory(kOrigin1, base::Time::Now());
554 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 566 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
555 567
556 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 568 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 855 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
844 kClientFile)); 856 kClientFile));
845 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 857 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
846 kClientFile)); 858 kClientFile));
847 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 859 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
848 kClientFile)); 860 kClientFile));
849 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 861 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
850 kClientFile)); 862 kClientFile));
851 } 863 }
852 864
865 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) {
866 scoped_ptr<RemoveQuotaManagedDataTester> tester(
867 new RemoveQuotaManagedDataTester());
868 tester->PopulateTestQuotaManagedNonBrowsingData(GetMockManager());
869
870 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
871 BrowsingDataRemover::REMOVE_APPCACHE |
872 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
873 BrowsingDataRemover::REMOVE_INDEXEDDB |
874 BrowsingDataRemover::REMOVE_WEBSQL, tester.get());
875
876 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
877 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
878 BrowsingDataRemover::REMOVE_INDEXEDDB |
879 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
880
881 // Check that extension and devtools data isn't removed.
882 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kTemporary,
883 kClientFile));
884 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kPersistent,
885 kClientFile));
886 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginDevTools, kTemporary,
887 kClientFile));
888 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginDevTools, kPersistent,
889 kClientFile));
890 }
891
853 TEST_F(BrowsingDataRemoverTest, OriginBasedHistoryRemoval) { 892 TEST_F(BrowsingDataRemoverTest, OriginBasedHistoryRemoval) {
854 scoped_ptr<RemoveHistoryTester> tester( 893 scoped_ptr<RemoveHistoryTester> tester(
855 new RemoveHistoryTester(GetProfile())); 894 new RemoveHistoryTester(GetProfile()));
856 895
857 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); 896 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
858 897
859 tester->AddHistory(kOrigin1, base::Time::Now()); 898 tester->AddHistory(kOrigin1, base::Time::Now());
860 tester->AddHistory(kOrigin2, two_hours_ago); 899 tester->AddHistory(kOrigin2, two_hours_ago);
861 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 900 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
862 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2)); 901 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
(...skipping 17 matching lines...) Expand all
880 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 919 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
881 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2)); 920 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
882 921
883 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, 922 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR,
884 BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get()); 923 BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get());
885 924
886 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 925 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
887 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1)); 926 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1));
888 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2)); 927 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
889 } 928 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data_remover.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698