| 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..f640d011205811626a1340876e743d544e0a8163 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"
|
| @@ -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_->GetOriginalProfile()));
|
| }
|
|
|
| virtual ~BrowsingDataRemoverTest() {
|
| @@ -266,6 +271,9 @@ class BrowsingDataRemoverTest : public testing::Test {
|
| base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
|
| remover->AddObserver(tester);
|
|
|
| + called_with_mask_ = 0;
|
| + called_with_time_ = base::Time();
|
| +
|
| // BrowsingDataRemover deletes itself when it completes.
|
| remover->Remove(remove_mask);
|
| tester->BlockUntilNotified();
|
| @@ -275,6 +283,14 @@ class BrowsingDataRemoverTest : public testing::Test {
|
| return profile_.get();
|
| }
|
|
|
| + base::Time GetBeginTime() {
|
| + return called_with_time_;
|
| + }
|
| +
|
| + int GetRemovalMask() {
|
| + return called_with_mask_;
|
| + }
|
| +
|
| quota::MockQuotaManager* GetMockManager() {
|
| if (profile_->GetQuotaManager() == NULL) {
|
| profile_->SetQuotaManager(new quota::MockQuotaManager(
|
| @@ -287,7 +303,27 @@ 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 simply storing
|
| + // copies of its contents.
|
| + BrowsingDataRemoverNotificationDetail* detail_pair(
|
| + content::Details<BrowsingDataRemoverNotificationDetail>(details).ptr());
|
| + called_with_time_ = detail_pair->first;
|
| + called_with_mask_ = detail_pair->second;
|
| +
|
| + registrar_.RemoveAll();
|
| + }
|
| +
|
| private:
|
| + base::Time called_with_time_;
|
| + int called_with_mask_;
|
| + 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 +349,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) {
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_COOKIES, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_COOKIES);
|
| EXPECT_FALSE(tester->ContainsCookie());
|
| }
|
|
|
| @@ -326,6 +363,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) {
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
|
| BrowsingDataRemover::REMOVE_HISTORY, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_HISTORY);
|
| EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
|
| }
|
|
|
| @@ -343,6 +381,7 @@ TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) {
|
| BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
|
| BrowsingDataRemover::REMOVE_HISTORY, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_HISTORY);
|
| EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
|
| EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
|
| }
|
| @@ -356,6 +395,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA);
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -379,6 +420,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA);
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -402,6 +445,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA);
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -425,6 +470,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA);
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -448,6 +495,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA);
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -471,6 +520,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA);
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
| @@ -500,6 +551,8 @@ TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) {
|
| BrowsingDataRemover::REMOVE_SITE_DATA &
|
| ~BrowsingDataRemover::REMOVE_LSO_DATA, tester.get());
|
|
|
| + EXPECT_EQ(GetRemovalMask(), BrowsingDataRemover::REMOVE_SITE_DATA &
|
| + ~BrowsingDataRemover::REMOVE_LSO_DATA);
|
| EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1,
|
| quota::kStorageTypeTemporary));
|
| EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2,
|
|
|