| Index: chrome/browser/browsing_data_remover_unittest.cc
|
| diff --git a/chrome/browser/browsing_data_remover_unittest.cc b/chrome/browser/browsing_data_remover_unittest.cc
|
| index 97353ce85d53c3fa31ac525a040bad26ff66aff9..b2365be857800dfd925d886044a3687abd7cccac 100644
|
| --- a/chrome/browser/browsing_data_remover_unittest.cc
|
| +++ b/chrome/browser/browsing_data_remover_unittest.cc
|
| @@ -12,9 +12,11 @@
|
| #include "base/platform_file.h"
|
| #include "chrome/browser/extensions/mock_extension_special_storage_policy.h"
|
| #include "chrome/browser/history/history.h"
|
| +#include "chrome/common/chrome_notification_types.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "chrome/test/base/testing_pref_service.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| +#include "content/public/browser/notification_service.h"
|
| #include "content/test/test_browser_thread.h"
|
| #include "net/base/cookie_monster.h"
|
| #include "net/url_request/url_request_context.h"
|
| @@ -120,7 +122,7 @@ class RemoveCookieTester : public BrowsingDataRemoverTester {
|
| if (cookies == "A=1") {
|
| get_cookie_success_ = true;
|
| } else {
|
| - EXPECT_EQ(cookies, "");
|
| + EXPECT_EQ("", cookies);
|
| get_cookie_success_ = false;
|
| }
|
| Notify();
|
| @@ -234,7 +236,8 @@ class RemoveQuotaManagedDataTester : public BrowsingDataRemoverTester {
|
|
|
| // Test Class ----------------------------------------------------------------
|
|
|
| -class BrowsingDataRemoverTest : public testing::Test {
|
| +class BrowsingDataRemoverTest : public testing::Test,
|
| + public content::NotificationObserver {
|
| public:
|
| BrowsingDataRemoverTest()
|
| : ui_thread_(BrowserThread::UI, &message_loop_),
|
| @@ -243,6 +246,8 @@ class BrowsingDataRemoverTest : public testing::Test {
|
| file_thread_(BrowserThread::FILE, &message_loop_),
|
| io_thread_(BrowserThread::IO, &message_loop_),
|
| profile_(new TestingProfile()) {
|
| + registrar_.Add(this, chrome::NOTIFICATION_BROWSING_DATA_REMOVED,
|
| + content::Source<Profile>(profile_.get()));
|
| }
|
|
|
| virtual ~BrowsingDataRemoverTest() {
|
| @@ -266,6 +271,8 @@ class BrowsingDataRemoverTest : public testing::Test {
|
| base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
|
| remover->AddObserver(tester);
|
|
|
| + called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
|
| +
|
| // BrowsingDataRemover deletes itself when it completes.
|
| remover->Remove(remove_mask);
|
| tester->BlockUntilNotified();
|
| @@ -275,6 +282,14 @@ class BrowsingDataRemoverTest : public testing::Test {
|
| return profile_.get();
|
| }
|
|
|
| + base::Time GetBeginTime() {
|
| + return called_with_details_->removal_begin;
|
| + }
|
| +
|
| + int GetRemovalMask() {
|
| + return called_with_details_->removal_mask;
|
| + }
|
| +
|
| quota::MockQuotaManager* GetMockManager() {
|
| if (profile_->GetQuotaManager() == NULL) {
|
| profile_->SetQuotaManager(new quota::MockQuotaManager(
|
| @@ -287,7 +302,25 @@ class BrowsingDataRemoverTest : public testing::Test {
|
| return (quota::MockQuotaManager*) profile_->GetQuotaManager();
|
| }
|
|
|
| + // content::NotificationObserver implementation.
|
| + virtual void Observe(int type,
|
| + const content::NotificationSource& source,
|
| + const content::NotificationDetails& details) OVERRIDE {
|
| + DCHECK_EQ(type, chrome::NOTIFICATION_BROWSING_DATA_REMOVED);
|
| +
|
| + // We're not taking ownership of the details object, but storing a copy of
|
| + // it locally.
|
| + called_with_details_.reset(new BrowsingDataRemover::NotificationDetails(
|
| + *content::Details<BrowsingDataRemover::NotificationDetails>(
|
| + details).ptr()));
|
| +
|
| + registrar_.RemoveAll();
|
| + }
|
| +
|
| private:
|
| + scoped_ptr<BrowsingDataRemover::NotificationDetails> called_with_details_;
|
| + content::NotificationRegistrar registrar_;
|
| +
|
| // message_loop_, as well as all the threads associated with it must be
|
| // defined before profile_ to prevent explosions. Oh how I love C++.
|
| MessageLoopForUI message_loop_;
|
| @@ -313,6 +346,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) {
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_COOKIES, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
|
| EXPECT_FALSE(tester->ContainsCookie());
|
| }
|
|
|
| @@ -326,6 +360,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) {
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_HISTORY, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
|
| EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
|
| }
|
|
|
| @@ -343,6 +378,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) {
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
|
| BrowsingDataRemover::REMOVE_HISTORY, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
|
| EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
|
| EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
|
| }
|
| @@ -356,6 +392,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA, GetRemovalMask());
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -379,6 +417,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA, GetRemovalMask());
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -402,6 +442,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA, GetRemovalMask());
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -425,6 +467,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA, GetRemovalMask());
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -448,6 +492,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA, GetRemovalMask());
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -471,6 +517,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA, GetRemovalMask());
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -500,6 +548,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA, GetRemovalMask());
|
| EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
|
|