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

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: Ugh. 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 bool include_protected_origins,
371 BrowsingDataRemoverTester* tester) { 372 BrowsingDataRemoverTester* tester) {
372 BrowsingDataRemover* remover = new BrowsingDataRemover( 373 BrowsingDataRemover* remover = new BrowsingDataRemover(
373 profile_.get(), period, 374 profile_.get(), period,
374 base::Time::Now() + base::TimeDelta::FromMilliseconds(10)); 375 base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
375 remover->OverrideQuotaManagerForTesting(GetMockManager()); 376 remover->OverrideQuotaManagerForTesting(GetMockManager());
376 remover->AddObserver(tester); 377 remover->AddObserver(tester);
377 378
378 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); 379 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
379 380
380 // BrowsingDataRemover deletes itself when it completes. 381 // BrowsingDataRemover deletes itself when it completes.
381 remover->Remove(remove_mask); 382 int origin_set_mask = BrowsingDataRemover::UNPROTECTED_WEB;
383 if (include_protected_origins)
384 origin_set_mask |= BrowsingDataRemover::PROTECTED_WEB;
385 remover->Remove(remove_mask, origin_set_mask);
382 tester->BlockUntilNotified(); 386 tester->BlockUntilNotified();
383 } 387 }
384 388
385 void BlockUntilOriginDataRemoved(BrowsingDataRemover::TimePeriod period, 389 void BlockUntilOriginDataRemoved(BrowsingDataRemover::TimePeriod period,
386 int remove_mask, 390 int remove_mask,
387 const GURL& remove_origin, 391 const GURL& remove_origin,
388 BrowsingDataRemoverTester* tester) { 392 BrowsingDataRemoverTester* tester) {
389 BrowsingDataRemover* remover = new BrowsingDataRemover( 393 BrowsingDataRemover* remover = new BrowsingDataRemover(
390 profile_.get(), period, 394 profile_.get(), period,
391 base::Time::Now() + base::TimeDelta::FromMilliseconds(10)); 395 base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
392 remover->OverrideQuotaManagerForTesting(GetMockManager()); 396 remover->OverrideQuotaManagerForTesting(GetMockManager());
393 remover->AddObserver(tester); 397 remover->AddObserver(tester);
394 398
395 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails()); 399 called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
396 400
397 // BrowsingDataRemover deletes itself when it completes. 401 // BrowsingDataRemover deletes itself when it completes.
398 remover->RemoveImpl(remove_mask, remove_origin, false); 402 remover->RemoveImpl(remove_mask, remove_origin,
403 BrowsingDataRemover::UNPROTECTED_WEB);
399 tester->BlockUntilNotified(); 404 tester->BlockUntilNotified();
400 } 405 }
401 406
402 TestingProfile* GetProfile() { 407 TestingProfile* GetProfile() {
403 return profile_.get(); 408 return profile_.get();
404 } 409 }
405 410
406 base::Time GetBeginTime() { 411 base::Time GetBeginTime() {
407 return called_with_details_->removal_begin; 412 return called_with_details_->removal_begin;
408 } 413 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 // Tests --------------------------------------------------------------------- 468 // Tests ---------------------------------------------------------------------
464 469
465 TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) { 470 TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) {
466 scoped_ptr<RemoveProfileCookieTester> tester( 471 scoped_ptr<RemoveProfileCookieTester> tester(
467 new RemoveProfileCookieTester(GetProfile())); 472 new RemoveProfileCookieTester(GetProfile()));
468 473
469 tester->AddCookie(); 474 tester->AddCookie();
470 ASSERT_TRUE(tester->ContainsCookie()); 475 ASSERT_TRUE(tester->ContainsCookie());
471 476
472 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 477 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
473 BrowsingDataRemover::REMOVE_COOKIES, tester.get()); 478 BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
474 479
475 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 480 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
476 EXPECT_FALSE(tester->ContainsCookie()); 481 EXPECT_FALSE(tester->ContainsCookie());
477 } 482 }
478 483
479 TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) { 484 TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) {
480 scoped_ptr<RemoveProfileCookieTester> tester( 485 scoped_ptr<RemoveProfileCookieTester> tester(
481 new RemoveProfileCookieTester(GetProfile())); 486 new RemoveProfileCookieTester(GetProfile()));
482 487
483 tester->AddCookie(); 488 tester->AddCookie();
484 ASSERT_TRUE(tester->ContainsCookie()); 489 ASSERT_TRUE(tester->ContainsCookie());
485 490
486 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 491 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
487 BrowsingDataRemover::REMOVE_COOKIES, tester.get()); 492 BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
488 493
489 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 494 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
490 EXPECT_FALSE(tester->ContainsCookie()); 495 EXPECT_FALSE(tester->ContainsCookie());
491 } 496 }
492 497
493 #if defined(ENABLE_SAFE_BROWSING) 498 #if defined(ENABLE_SAFE_BROWSING)
494 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) { 499 TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) {
495 scoped_ptr<RemoveSafeBrowsingCookieTester> tester( 500 scoped_ptr<RemoveSafeBrowsingCookieTester> tester(
496 new RemoveSafeBrowsingCookieTester()); 501 new RemoveSafeBrowsingCookieTester());
497 502
498 tester->AddCookie(); 503 tester->AddCookie();
499 ASSERT_TRUE(tester->ContainsCookie()); 504 ASSERT_TRUE(tester->ContainsCookie());
500 505
501 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 506 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
502 BrowsingDataRemover::REMOVE_COOKIES, tester.get()); 507 BrowsingDataRemover::REMOVE_COOKIES, false, 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, false, tester.get());
517 522
518 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask()); 523 EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
519 // Removing with time period other than EVERYTHING should not clear safe 524 // Removing with time period other than EVERYTHING should not clear safe
520 // browsing cookies. 525 // browsing cookies.
521 EXPECT_TRUE(tester->ContainsCookie()); 526 EXPECT_TRUE(tester->ContainsCookie());
522 } 527 }
523 #endif 528 #endif
524 529
525 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertForever) { 530 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertForever) {
526 scoped_ptr<RemoveServerBoundCertTester> tester( 531 scoped_ptr<RemoveServerBoundCertTester> tester(
527 new RemoveServerBoundCertTester(GetProfile())); 532 new RemoveServerBoundCertTester(GetProfile()));
528 533
529 tester->AddServerBoundCert(kTestOrigin1); 534 tester->AddServerBoundCert(kTestOrigin1);
530 EXPECT_EQ(1, tester->ServerBoundCertCount()); 535 EXPECT_EQ(1, tester->ServerBoundCertCount());
531 536
532 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 537 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
533 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get()); 538 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, false, tester.get());
534 539
535 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask()); 540 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
536 EXPECT_EQ(0, tester->ServerBoundCertCount()); 541 EXPECT_EQ(0, tester->ServerBoundCertCount());
537 } 542 }
538 543
539 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertLastHour) { 544 TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertLastHour) {
540 scoped_ptr<RemoveServerBoundCertTester> tester( 545 scoped_ptr<RemoveServerBoundCertTester> tester(
541 new RemoveServerBoundCertTester(GetProfile())); 546 new RemoveServerBoundCertTester(GetProfile()));
542 547
543 base::Time now = base::Time::Now(); 548 base::Time now = base::Time::Now();
544 tester->AddServerBoundCert(kTestOrigin1); 549 tester->AddServerBoundCert(kTestOrigin1);
545 tester->AddServerBoundCertWithTimes(kTestOrigin2, 550 tester->AddServerBoundCertWithTimes(kTestOrigin2,
546 now - base::TimeDelta::FromHours(2), 551 now - base::TimeDelta::FromHours(2),
547 now); 552 now);
548 EXPECT_EQ(2, tester->ServerBoundCertCount()); 553 EXPECT_EQ(2, tester->ServerBoundCertCount());
549 554
550 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 555 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
551 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, tester.get()); 556 BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, false, tester.get());
552 557
553 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask()); 558 EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
554 EXPECT_EQ(1, tester->ServerBoundCertCount()); 559 EXPECT_EQ(1, tester->ServerBoundCertCount());
555 net::ServerBoundCertStore::ServerBoundCertList certs; 560 net::ServerBoundCertStore::ServerBoundCertList certs;
556 tester->GetCertStore()->GetAllServerBoundCerts(&certs); 561 tester->GetCertStore()->GetAllServerBoundCerts(&certs);
557 EXPECT_EQ(kTestOrigin2, certs.front().server_identifier()); 562 EXPECT_EQ(kTestOrigin2, certs.front().server_identifier());
558 } 563 }
559 564
560 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) { 565 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) {
561 scoped_ptr<RemoveHistoryTester> tester( 566 scoped_ptr<RemoveHistoryTester> tester(
562 new RemoveHistoryTester(GetProfile())); 567 new RemoveHistoryTester(GetProfile()));
563 568
564 tester->AddHistory(kOrigin1, base::Time::Now()); 569 tester->AddHistory(kOrigin1, base::Time::Now());
565 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 570 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
566 571
567 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 572 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
568 BrowsingDataRemover::REMOVE_HISTORY, tester.get()); 573 BrowsingDataRemover::REMOVE_HISTORY, false, tester.get());
569 574
570 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 575 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
571 EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1)); 576 EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
572 } 577 }
573 578
574 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) { 579 TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) {
575 scoped_ptr<RemoveHistoryTester> tester( 580 scoped_ptr<RemoveHistoryTester> tester(
576 new RemoveHistoryTester(GetProfile())); 581 new RemoveHistoryTester(GetProfile()));
577 582
578 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2); 583 base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
579 584
580 tester->AddHistory(kOrigin1, base::Time::Now()); 585 tester->AddHistory(kOrigin1, base::Time::Now());
581 tester->AddHistory(kOrigin2, two_hours_ago); 586 tester->AddHistory(kOrigin2, two_hours_ago);
582 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 587 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
583 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2)); 588 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
584 589
585 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 590 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
586 BrowsingDataRemover::REMOVE_HISTORY, tester.get()); 591 BrowsingDataRemover::REMOVE_HISTORY, false, tester.get());
587 592
588 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 593 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
589 EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1)); 594 EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
590 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2)); 595 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
591 } 596 }
592 597
593 TEST_F(BrowsingDataRemoverTest, QuotaClientMaskGeneration) { 598 TEST_F(BrowsingDataRemoverTest, QuotaClientMaskGeneration) {
594 EXPECT_EQ(quota::QuotaClient::kFileSystem, 599 EXPECT_EQ(quota::QuotaClient::kFileSystem,
595 BrowsingDataRemover::GenerateQuotaClientMask( 600 BrowsingDataRemover::GenerateQuotaClientMask(
596 BrowsingDataRemover::REMOVE_FILE_SYSTEMS)); 601 BrowsingDataRemover::REMOVE_FILE_SYSTEMS));
(...skipping 14 matching lines...) Expand all
611 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 616 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
612 BrowsingDataRemover::REMOVE_WEBSQL | 617 BrowsingDataRemover::REMOVE_WEBSQL |
613 BrowsingDataRemover::REMOVE_APPCACHE | 618 BrowsingDataRemover::REMOVE_APPCACHE |
614 BrowsingDataRemover::REMOVE_INDEXEDDB)); 619 BrowsingDataRemover::REMOVE_INDEXEDDB));
615 } 620 }
616 621
617 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) { 622 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) {
618 tester_.PopulateTestQuotaManagedData(GetMockManager()); 623 tester_.PopulateTestQuotaManagedData(GetMockManager());
619 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 624 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
620 BrowsingDataRemover::REMOVE_SITE_DATA & 625 BrowsingDataRemover::REMOVE_SITE_DATA &
621 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 626 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
622 627
623 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 628 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
624 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 629 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
625 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 630 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
626 kClientFile)); 631 kClientFile));
627 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 632 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
628 kClientFile)); 633 kClientFile));
629 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 634 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
630 kClientFile)); 635 kClientFile));
631 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 636 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
632 kClientFile)); 637 kClientFile));
633 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 638 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
634 kClientFile)); 639 kClientFile));
635 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 640 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
636 kClientFile)); 641 kClientFile));
637 } 642 }
638 643
639 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) { 644 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) {
640 tester_.PopulateTestQuotaManagedTemporaryData(GetMockManager()); 645 tester_.PopulateTestQuotaManagedTemporaryData(GetMockManager());
641 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 646 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
642 BrowsingDataRemover::REMOVE_SITE_DATA & 647 BrowsingDataRemover::REMOVE_SITE_DATA &
643 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 648 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
644 649
645 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 650 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
646 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 651 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
647 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 652 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
648 kClientFile)); 653 kClientFile));
649 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 654 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
650 kClientFile)); 655 kClientFile));
651 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 656 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
652 kClientFile)); 657 kClientFile));
653 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 658 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
654 kClientFile)); 659 kClientFile));
655 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 660 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
656 kClientFile)); 661 kClientFile));
657 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 662 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
658 kClientFile)); 663 kClientFile));
659 } 664 }
660 665
661 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) { 666 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) {
662 tester_.PopulateTestQuotaManagedPersistentData(GetMockManager()); 667 tester_.PopulateTestQuotaManagedPersistentData(GetMockManager());
663 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 668 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
664 BrowsingDataRemover::REMOVE_SITE_DATA & 669 BrowsingDataRemover::REMOVE_SITE_DATA &
665 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 670 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
666 671
667 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 672 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
668 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 673 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
669 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 674 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
670 kClientFile)); 675 kClientFile));
671 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 676 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
672 kClientFile)); 677 kClientFile));
673 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 678 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
674 kClientFile)); 679 kClientFile));
675 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 680 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
676 kClientFile)); 681 kClientFile));
677 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 682 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
678 kClientFile)); 683 kClientFile));
679 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 684 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
680 kClientFile)); 685 kClientFile));
681 } 686 }
682 687
683 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) { 688 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) {
684 GetMockManager(); // Creates the QuotaManager instance. 689 GetMockManager(); // Creates the QuotaManager instance.
685 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 690 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
686 BrowsingDataRemover::REMOVE_SITE_DATA & 691 BrowsingDataRemover::REMOVE_SITE_DATA &
687 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 692 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
688 693
689 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 694 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
690 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 695 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
691 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 696 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
692 kClientFile)); 697 kClientFile));
693 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 698 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
694 kClientFile)); 699 kClientFile));
695 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 700 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
696 kClientFile)); 701 kClientFile));
697 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 702 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
(...skipping 30 matching lines...) Expand all
728 kClientFile)); 733 kClientFile));
729 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 734 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
730 kClientFile)); 735 kClientFile));
731 } 736 }
732 737
733 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) { 738 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) {
734 tester_.PopulateTestQuotaManagedData(GetMockManager()); 739 tester_.PopulateTestQuotaManagedData(GetMockManager());
735 740
736 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR, 741 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
737 BrowsingDataRemover::REMOVE_SITE_DATA & 742 BrowsingDataRemover::REMOVE_SITE_DATA &
738 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 743 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
739 744
740 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 745 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
741 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 746 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
742 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 747 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
743 kClientFile)); 748 kClientFile));
744 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 749 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
745 kClientFile)); 750 kClientFile));
746 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 751 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
747 kClientFile)); 752 kClientFile));
748 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 753 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
749 kClientFile)); 754 kClientFile));
750 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 755 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
751 kClientFile)); 756 kClientFile));
752 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 757 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
753 kClientFile)); 758 kClientFile));
754 } 759 }
755 760
756 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) { 761 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) {
757 tester_.PopulateTestQuotaManagedData(GetMockManager()); 762 tester_.PopulateTestQuotaManagedData(GetMockManager());
758 763
759 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK, 764 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK,
760 BrowsingDataRemover::REMOVE_SITE_DATA & 765 BrowsingDataRemover::REMOVE_SITE_DATA &
761 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 766 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
762 767
763 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 768 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
764 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 769 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
765 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 770 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
766 kClientFile)); 771 kClientFile));
767 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 772 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
768 kClientFile)); 773 kClientFile));
769 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 774 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
770 kClientFile)); 775 kClientFile));
771 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 776 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
772 kClientFile)); 777 kClientFile));
773 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 778 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
774 kClientFile)); 779 kClientFile));
775 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 780 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
776 kClientFile)); 781 kClientFile));
777 } 782 }
778 783
779 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) { 784 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) {
780 // Protect kOrigin1. 785 // Protect kOrigin1.
781 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy = 786 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
782 new MockExtensionSpecialStoragePolicy; 787 new MockExtensionSpecialStoragePolicy;
783 mock_policy->AddProtected(kOrigin1.GetOrigin()); 788 mock_policy->AddProtected(kOrigin1.GetOrigin());
784 GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy); 789 GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
785 790
786 tester_.PopulateTestQuotaManagedData(GetMockManager()); 791 tester_.PopulateTestQuotaManagedData(GetMockManager());
787 792
788 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 793 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
789 BrowsingDataRemover::REMOVE_SITE_DATA & 794 BrowsingDataRemover::REMOVE_SITE_DATA &
790 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, &tester_); 795 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, false, &tester_);
791 796
792 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA & 797 EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
793 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask()); 798 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA, GetRemovalMask());
794 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1, kTemporary, 799 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
795 kClientFile)); 800 kClientFile));
796 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary, 801 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
797 kClientFile)); 802 kClientFile));
798 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary, 803 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
799 kClientFile)); 804 kClientFile));
800 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 805 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, 837 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
833 kClientFile)); 838 kClientFile));
834 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent, 839 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
835 kClientFile)); 840 kClientFile));
836 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent, 841 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
837 kClientFile)); 842 kClientFile));
838 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent, 843 EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
839 kClientFile)); 844 kClientFile));
840 } 845 }
841 846
847 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) {
848 // Protect kOrigin1.
849 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
850 new MockExtensionSpecialStoragePolicy;
851 mock_policy->AddProtected(kOrigin1.GetOrigin());
852 GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
853
854 tester_.PopulateTestQuotaManagedData(GetMockManager());
855
856 // Try to remove kOrigin1. Expect success.
857 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
858 BrowsingDataRemover::REMOVE_APPCACHE |
859 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
860 BrowsingDataRemover::REMOVE_INDEXEDDB |
861 BrowsingDataRemover::REMOVE_WEBSQL, true, &tester_);
862
863 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
864 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
865 BrowsingDataRemover::REMOVE_INDEXEDDB |
866 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
867 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
868 kClientFile));
869 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
870 kClientFile));
871 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
872 kClientFile));
873 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
874 kClientFile));
875 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
876 kClientFile));
877 EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
878 kClientFile));
879 }
880
842 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) { 881 TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) {
843 tester_.PopulateTestQuotaManagedNonBrowsingData(GetMockManager()); 882 tester_.PopulateTestQuotaManagedNonBrowsingData(GetMockManager());
844 883
845 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING, 884 BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
846 BrowsingDataRemover::REMOVE_APPCACHE | 885 BrowsingDataRemover::REMOVE_APPCACHE |
847 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 886 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
848 BrowsingDataRemover::REMOVE_INDEXEDDB | 887 BrowsingDataRemover::REMOVE_INDEXEDDB |
849 BrowsingDataRemover::REMOVE_WEBSQL, &tester_); 888 BrowsingDataRemover::REMOVE_WEBSQL, false, &tester_);
850 889
851 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE | 890 EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
852 BrowsingDataRemover::REMOVE_FILE_SYSTEMS | 891 BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
853 BrowsingDataRemover::REMOVE_INDEXEDDB | 892 BrowsingDataRemover::REMOVE_INDEXEDDB |
854 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask()); 893 BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
855 894
856 // Check that extension and devtools data isn't removed. 895 // Check that extension and devtools data isn't removed.
857 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kTemporary, 896 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kTemporary,
858 kClientFile)); 897 kClientFile));
859 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kPersistent, 898 EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kPersistent,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
894 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1)); 933 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
895 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2)); 934 ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
896 935
897 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR, 936 BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR,
898 BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get()); 937 BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get());
899 938
900 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask()); 939 EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
901 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1)); 940 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1));
902 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2)); 941 EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
903 } 942 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698