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

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

Issue 10413072: Teaching BrowsingDataRemover how to delete application data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 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
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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 // posts a message to the WEBKIT thread to delete some of its member 361 // posts a message to the WEBKIT thread to delete some of its member
362 // variables. We need to ensure that the profile is destroyed, and that 362 // variables. We need to ensure that the profile is destroyed, and that
363 // the message loop is cleared out, before destroying the threads and loop. 363 // the message loop is cleared out, before destroying the threads and loop.
364 // Otherwise we leak memory. 364 // Otherwise we leak memory.
365 profile_.reset(); 365 profile_.reset();
366 message_loop_.RunAllPending(); 366 message_loop_.RunAllPending();
367 } 367 }
368 368
369 void BlockUntilBrowsingDataRemoved(BrowsingDataRemover::TimePeriod period, 369 void BlockUntilBrowsingDataRemoved(BrowsingDataRemover::TimePeriod period,
370 int remove_mask, 370 int remove_mask,
371 BrowsingDataRemover::RemoveOriginSet
372 origin_set,
371 BrowsingDataRemoverTester* tester) { 373 BrowsingDataRemoverTester* tester) {
372 BrowsingDataRemover* remover = new BrowsingDataRemover( 374 BrowsingDataRemover* remover = new BrowsingDataRemover(
373 profile_.get(), period, 375 profile_.get(), period,
374 base::Time::Now() + base::TimeDelta::FromMilliseconds(10)); 376 base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
375 remover->OverrideQuotaManagerForTesting(GetMockManager()); 377 remover->OverrideQuotaManagerForTesting(GetMockManager());
376 remover->AddObserver(tester); 378 remover->AddObserver(tester);
377 379
378 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); 380 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
379 381
380 // BrowsingDataRemover deletes itself when it completes. 382 // BrowsingDataRemover deletes itself when it completes.
381 remover->Remove(remove_mask); 383 remover->Remove(remove_mask, origin_set);
382 tester->BlockUntilNotified(); 384 tester->BlockUntilNotified();
383 } 385 }
384 386
385 void BlockUntilOriginDataRemoved(BrowsingDataRemover::TimePeriod period, 387 void BlockUntilOriginDataRemoved(BrowsingDataRemover::TimePeriod period,
386 int remove_mask, 388 int remove_mask,
387 const GURL& remove_origin, 389 const GURL& remove_origin,
388 BrowsingDataRemoverTester* tester) { 390 BrowsingDataRemoverTester* tester) {
389 BrowsingDataRemover* remover = new BrowsingDataRemover( 391 BrowsingDataRemover* remover = new BrowsingDataRemover(
390 profile_.get(), period, 392 profile_.get(), period,
391 base::Time::Now() + base::TimeDelta::FromMilliseconds(10)); 393 base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 // Tests --------------------------------------------------------------------- 465 // Tests ---------------------------------------------------------------------
464 466
465 TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) { 467 TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) {
466 scoped_ptr<RemoveProfileCookieTester> tester( 468 scoped_ptr<RemoveProfileCookieTester> tester(
467 new RemoveProfileCookieTester(GetProfile())); 469 new RemoveProfileCookieTester(GetProfile()));
468 470
469 tester->AddCookie(); 471 tester->AddCookie();
470 ASSERT_TRUE(tester->ContainsCookie()); 472 ASSERT_TRUE(tester->ContainsCookie());
471 473
472 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 474 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
473 BrowsingDataRemover::REMOVE_COOKIES, tester.get()); 475 BrowsingDataRemover::REMOVE_COOKIES,
476 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, tester.get());
474 477
475 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 478 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
476 EXPECT_FALSE(tester->ContainsCookie()); 479 EXPECT_FALSE(tester->ContainsCookie());
477 } 480 }
478 481
479 TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) { 482 TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) {
480 scoped_ptr<RemoveProfileCookieTester> tester( 483 scoped_ptr<RemoveProfileCookieTester> tester(
481 new RemoveProfileCookieTester(GetProfile())); 484 new RemoveProfileCookieTester(GetProfile()));
482 485
483 tester->AddCookie(); 486 tester->AddCookie();
484 ASSERT_TRUE(tester->ContainsCookie()); 487 ASSERT_TRUE(tester->ContainsCookie());
485 488
486 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 489 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
487 BrowsingDataRemover::REMOVE_COOKIES, tester.get()); 490 BrowsingDataRemover::REMOVE_COOKIES,
491 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, tester.get());
488 492
489 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 493 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
490 EXPECT_FALSE(tester->ContainsCookie()); 494 EXPECT_FALSE(tester->ContainsCookie());
491 } 495 }
492 496
493 #if defined(ENABLE_SAFE_BROWSING) 497 #if defined(ENABLE_SAFE_BROWSING)
494 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) { 498 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) {
495 scoped_ptr<RemoveSafeBrowsingCookieTester> tester( 499 scoped_ptr<RemoveSafeBrowsingCookieTester> tester(
496 new RemoveSafeBrowsingCookieTester()); 500 new RemoveSafeBrowsingCookieTester());
497 501
498 tester->AddCookie(); 502 tester->AddCookie();
499 ASSERT_TRUE(tester->ContainsCookie()); 503 ASSERT_TRUE(tester->ContainsCookie());
500 504
501 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 505 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
502 BrowsingDataRemover::REMOVE_COOKIES, tester.get()); 506 BrowsingDataRemover::REMOVE_COOKIES,
507 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, tester.get());
503 508
504 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 509 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
505 EXPECT_FALSE(tester->ContainsCookie()); 510 EXPECT_FALSE(tester->ContainsCookie());
506 } 511 }
507 512
508 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieLastHour) { 513 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieLastHour) {
509 scoped_ptr<RemoveSafeBrowsingCookieTester> tester( 514 scoped_ptr<RemoveSafeBrowsingCookieTester> tester(
510 new RemoveSafeBrowsingCookieTester()); 515 new RemoveSafeBrowsingCookieTester());
511 516
512 tester->AddCookie(); 517 tester->AddCookie();
513 ASSERT_TRUE(tester->ContainsCookie()); 518 ASSERT_TRUE(tester->ContainsCookie());
514 519
515 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 520 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
516 BrowsingDataRemover::REMOVE_COOKIES, tester.get()); 521 BrowsingDataRemover::REMOVE_COOKIES,
522 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, tester.get());
517 523
518 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 524 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
519 // Removing with time period other than EVERYTHING should not clear safe 525 // Removing with time period other than EVERYTHING should not clear safe
520 // browsing cookies. 526 // browsing cookies.
521 EXPECT_TRUE(tester->ContainsCookie()); 527 EXPECT_TRUE(tester->ContainsCookie());
522 } 528 }
523 #endif 529 #endif
524 530
525 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertForever) { 531 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertForever) {
526 scoped_ptr<RemoveServerBoundCertTester> tester( 532 scoped_ptr<RemoveServerBoundCertTester> tester(
527 new RemoveServerBoundCertTester(GetProfile())); 533 new RemoveServerBoundCertTester(GetProfile()));
528 534
529 tester->AddServerBoundCert(kTestOrigin1); 535 tester->AddServerBoundCert(kTestOrigin1);
530 EXPECT_EQ(1, tester->ServerBoundCertCount()); 536 EXPECT_EQ(1, tester->ServerBoundCertCount());
531 537
532 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 538 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
533 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get()); 539 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS,
540 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, tester.get());
534 541
535 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask()); 542 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
536 EXPECT_EQ(0, tester->ServerBoundCertCount()); 543 EXPECT_EQ(0, tester->ServerBoundCertCount());
537 } 544 }
538 545
539 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertLastHour) { 546 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertLastHour) {
540 scoped_ptr<RemoveServerBoundCertTester> tester( 547 scoped_ptr<RemoveServerBoundCertTester> tester(
541 new RemoveServerBoundCertTester(GetProfile())); 548 new RemoveServerBoundCertTester(GetProfile()));
542 549
543 base::Time now = base::Time::Now(); 550 base::Time now = base::Time::Now();
544 tester->AddServerBoundCert(kTestOrigin1); 551 tester->AddServerBoundCert(kTestOrigin1);
545 tester->AddServerBoundCertWithTimes(kTestOrigin2, 552 tester->AddServerBoundCertWithTimes(kTestOrigin2,
546 now - base::TimeDelta::FromHours(2), 553 now - base::TimeDelta::FromHours(2),
547 now); 554 now);
548 EXPECT_EQ(2, tester->ServerBoundCertCount()); 555 EXPECT_EQ(2, tester->ServerBoundCertCount());
549 556
550 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 557 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
551 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get()); 558 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS,
559 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, tester.get());
552 560
553 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask()); 561 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
554 EXPECT_EQ(1, tester->ServerBoundCertCount()); 562 EXPECT_EQ(1, tester->ServerBoundCertCount());
555 net::ServerBoundCertStore::ServerBoundCertList certs; 563 net::ServerBoundCertStore::ServerBoundCertList certs;
556 tester->GetCertStore()->GetAllServerBoundCerts(&certs); 564 tester->GetCertStore()->GetAllServerBoundCerts(&certs);
557 EXPECT_EQ(kTestOrigin2, certs.front().server_identifier()); 565 EXPECT_EQ(kTestOrigin2, certs.front().server_identifier());
558 } 566 }
559 567
560 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) { 568 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) {
561 scoped_ptr<RemoveHistoryTester> tester( 569 scoped_ptr<RemoveHistoryTester> tester(
562 new RemoveHistoryTester(GetProfile())); 570 new RemoveHistoryTester(GetProfile()));
563 571
564 tester->AddHistory(kOrigin1, base::Time::Now()); 572 tester->AddHistory(kOrigin1, base::Time::Now());
565 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 573 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
566 574
567 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 575 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
568 BrowsingDataRemover::REMOVE_HISTORY, tester.get()); 576 BrowsingDataRemover::REMOVE_HISTORY,
577 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, tester.get());
569 578
570 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 579 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
571 EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1)); 580 EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
572 } 581 }
573 582
574 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) { 583 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) {
575 scoped_ptr<RemoveHistoryTester> tester( 584 scoped_ptr<RemoveHistoryTester> tester(
576 new RemoveHistoryTester(GetProfile())); 585 new RemoveHistoryTester(GetProfile()));
577 586
578 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); 587 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
579 588
580 tester->AddHistory(kOrigin1, base::Time::Now()); 589 tester->AddHistory(kOrigin1, base::Time::Now());
581 tester->AddHistory(kOrigin2, two_hours_ago); 590 tester->AddHistory(kOrigin2, two_hours_ago);
582 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 591 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
583 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2)); 592 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
584 593
585 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 594 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
586 BrowsingDataRemover::REMOVE_HISTORY, tester.get()); 595 BrowsingDataRemover::REMOVE_HISTORY,
596 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, tester.get());
587 597
588 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 598 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
589 EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1)); 599 EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
590 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2)); 600 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
591 } 601 }
592 602
593 TEST_F(BrowsingDataRemoverTest, QuotaClientMaskGeneration) { 603 TEST_F(BrowsingDataRemoverTest, QuotaClientMaskGeneration) {
594 EXPECT_EQ(quota::QuotaClient::kFileSystem, 604 EXPECT_EQ(quota::QuotaClient::kFileSystem,
595 BrowsingDataRemover::GenerateQuotaClientMask( 605 BrowsingDataRemover::GenerateQuotaClientMask(
596 BrowsingDataRemover::REMOVE_FILE_SYSTEMS)); 606 BrowsingDataRemover::REMOVE_FILE_SYSTEMS));
(...skipping 14 matching lines...) Expand all
611 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 621 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
612 BrowsingDataRemover::REMOVE_WEBSQL | 622 BrowsingDataRemover::REMOVE_WEBSQL |
613 BrowsingDataRemover::REMOVE_APPCACHE | 623 BrowsingDataRemover::REMOVE_APPCACHE |
614 BrowsingDataRemover::REMOVE_INDEXEDDB)); 624 BrowsingDataRemover::REMOVE_INDEXEDDB));
615 } 625 }
616 626
617 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) { 627 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) {
618 tester_.PopulateTestQuotaManagedData(GetMockManager()); 628 tester_.PopulateTestQuotaManagedData(GetMockManager());
619 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 629 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
620 BrowsingDataRemover::REMOVE_SITE_DATA & 630 BrowsingDataRemover::REMOVE_SITE_DATA &
621 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 631 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA,
632 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, &tester_);
622 633
623 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 634 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
624 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 635 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
625 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 636 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
626 kClientFile)); 637 kClientFile));
627 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 638 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
628 kClientFile)); 639 kClientFile));
629 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 640 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
630 kClientFile)); 641 kClientFile));
631 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 642 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
632 kClientFile)); 643 kClientFile));
633 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 644 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
634 kClientFile)); 645 kClientFile));
635 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 646 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
636 kClientFile)); 647 kClientFile));
637 } 648 }
638 649
639 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) { 650 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) {
640 tester_.PopulateTestQuotaManagedTemporaryData(GetMockManager()); 651 tester_.PopulateTestQuotaManagedTemporaryData(GetMockManager());
641 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 652 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
642 BrowsingDataRemover::REMOVE_SITE_DATA & 653 BrowsingDataRemover::REMOVE_SITE_DATA &
643 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 654 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA,
655 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, &tester_);
644 656
645 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 657 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
646 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 658 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
647 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 659 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
648 kClientFile)); 660 kClientFile));
649 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 661 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
650 kClientFile)); 662 kClientFile));
651 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 663 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
652 kClientFile)); 664 kClientFile));
653 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 665 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
654 kClientFile)); 666 kClientFile));
655 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 667 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
656 kClientFile)); 668 kClientFile));
657 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 669 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
658 kClientFile)); 670 kClientFile));
659 } 671 }
660 672
661 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) { 673 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) {
662 tester_.PopulateTestQuotaManagedPersistentData(GetMockManager()); 674 tester_.PopulateTestQuotaManagedPersistentData(GetMockManager());
663 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 675 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
664 BrowsingDataRemover::REMOVE_SITE_DATA & 676 BrowsingDataRemover::REMOVE_SITE_DATA &
665 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 677 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA,
678 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, &tester_);
666 679
667 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 680 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
668 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 681 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
669 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 682 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
670 kClientFile)); 683 kClientFile));
671 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 684 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
672 kClientFile)); 685 kClientFile));
673 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 686 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
674 kClientFile)); 687 kClientFile));
675 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 688 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
676 kClientFile)); 689 kClientFile));
677 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 690 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
678 kClientFile)); 691 kClientFile));
679 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 692 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
680 kClientFile)); 693 kClientFile));
681 } 694 }
682 695
683 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) { 696 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) {
684 GetMockManager(); // Creates the QuotaManager instance. 697 GetMockManager(); // Creates the QuotaManager instance.
685 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 698 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
686 BrowsingDataRemover::REMOVE_SITE_DATA & 699 BrowsingDataRemover::REMOVE_SITE_DATA &
687 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 700 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA,
701 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, &tester_);
688 702
689 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 703 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
690 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 704 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
691 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 705 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
692 kClientFile)); 706 kClientFile));
693 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 707 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
694 kClientFile)); 708 kClientFile));
695 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 709 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
696 kClientFile)); 710 kClientFile));
697 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 711 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
(...skipping 30 matching lines...) Expand all
728 kClientFile)); 742 kClientFile));
729 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 743 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
730 kClientFile)); 744 kClientFile));
731 } 745 }
732 746
733 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) { 747 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) {
734 tester_.PopulateTestQuotaManagedData(GetMockManager()); 748 tester_.PopulateTestQuotaManagedData(GetMockManager());
735 749
736 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 750 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
737 BrowsingDataRemover::REMOVE_SITE_DATA & 751 BrowsingDataRemover::REMOVE_SITE_DATA &
738 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 752 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA,
753 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, &tester_);
739 754
740 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 755 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
741 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 756 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
742 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 757 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
743 kClientFile)); 758 kClientFile));
744 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 759 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
745 kClientFile)); 760 kClientFile));
746 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 761 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
747 kClientFile)); 762 kClientFile));
748 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 763 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
749 kClientFile)); 764 kClientFile));
750 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 765 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
751 kClientFile)); 766 kClientFile));
752 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 767 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
753 kClientFile)); 768 kClientFile));
754 } 769 }
755 770
756 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) { 771 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) {
757 tester_.PopulateTestQuotaManagedData(GetMockManager()); 772 tester_.PopulateTestQuotaManagedData(GetMockManager());
758 773
759 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK, 774 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK,
760 BrowsingDataRemover::REMOVE_SITE_DATA & 775 BrowsingDataRemover::REMOVE_SITE_DATA &
761 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 776 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA,
777 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, &tester_);
762 778
763 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 779 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
764 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 780 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
765 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 781 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
766 kClientFile)); 782 kClientFile));
767 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 783 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
768 kClientFile)); 784 kClientFile));
769 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 785 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
770 kClientFile)); 786 kClientFile));
771 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 787 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
772 kClientFile)); 788 kClientFile));
773 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 789 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
774 kClientFile)); 790 kClientFile));
775 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 791 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
776 kClientFile)); 792 kClientFile));
777 } 793 }
778 794
779 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) { 795 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) {
780 // Protect kOrigin1. 796 // Protect kOrigin1.
781 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy = 797 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
782 new MockExtensionSpecialStoragePolicy; 798 new MockExtensionSpecialStoragePolicy;
783 mock_policy->AddProtected(kOrigin1.GetOrigin()); 799 mock_policy->AddProtected(kOrigin1.GetOrigin());
784 GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy); 800 GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
785 801
786 tester_.PopulateTestQuotaManagedData(GetMockManager()); 802 tester_.PopulateTestQuotaManagedData(GetMockManager());
787 803
788 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 804 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
789 BrowsingDataRemover::REMOVE_SITE_DATA & 805 BrowsingDataRemover::REMOVE_SITE_DATA &
790 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 806 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA,
807 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, &tester_);
791 808
792 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 809 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
793 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 810 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
794 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 811 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
795 kClientFile)); 812 kClientFile));
796 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 813 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
797 kClientFile)); 814 kClientFile));
798 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 815 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
799 kClientFile)); 816 kClientFile));
800 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 817 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 849 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
833 kClientFile)); 850 kClientFile));
834 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 851 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
835 kClientFile)); 852 kClientFile));
836 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 853 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
837 kClientFile)); 854 kClientFile));
838 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 855 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
839 kClientFile)); 856 kClientFile));
840 } 857 }
841 858
859 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) {
860 // Protect kOrigin1.
861 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
862 new MockExtensionSpecialStoragePolicy;
863 mock_policy->AddProtected(kOrigin1.GetOrigin());
864 GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
865
866 tester_.PopulateTestQuotaManagedData(GetMockManager());
867
868 // Try to remove kOrigin1. Expect success.
869 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
870 BrowsingDataRemover::REMOVE_APPCACHE |
871 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
872 BrowsingDataRemover::REMOVE_INDEXEDDB |
873 BrowsingDataRemover::REMOVE_WEBSQL,
874 BrowsingDataRemover::REMOVE_FROM_ALL_ORIGINS, &tester_);
875
876 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
877 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
878 BrowsingDataRemover::REMOVE_INDEXEDDB |
879 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
880 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
881 kClientFile));
882 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
883 kClientFile));
884 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
885 kClientFile));
886 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
887 kClientFile));
888 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
889 kClientFile));
890 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
891 kClientFile));
892 }
893
842 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) { 894 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) {
843 tester_.PopulateTestQuotaManagedNonBrowsingData(GetMockManager()); 895 tester_.PopulateTestQuotaManagedNonBrowsingData(GetMockManager());
844 896
845 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 897 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
846 BrowsingDataRemover::REMOVE_APPCACHE | 898 BrowsingDataRemover::REMOVE_APPCACHE |
847 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 899 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
848 BrowsingDataRemover::REMOVE_INDEXEDDB | 900 BrowsingDataRemover::REMOVE_INDEXEDDB |
849 BrowsingDataRemover::REMOVE_WEBSQL, &tester_); 901 BrowsingDataRemover::REMOVE_WEBSQL,
902 BrowsingDataRemover::REMOVE_FROM_UNPROTECTED_ORIGINS, &tester_);
850 903
851 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | 904 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
852 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 905 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
853 BrowsingDataRemover::REMOVE_INDEXEDDB | 906 BrowsingDataRemover::REMOVE_INDEXEDDB |
854 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask()); 907 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
855 908
856 // Check that extension and devtools data isn't removed. 909 // Check that extension and devtools data isn't removed.
857 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kTemporary, 910 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kTemporary,
858 kClientFile)); 911 kClientFile));
859 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kPersistent, 912 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kPersistent,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
894 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 947 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
895 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2)); 948 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
896 949
897 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, 950 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR,
898 BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get()); 951 BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get());
899 952
900 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 953 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
901 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1)); 954 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1));
902 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2)); 955 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
903 } 956 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698