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

Unified Diff: chrome/browser/browsing_data_remover_unittest.cc

Issue 10805015: Move browsing_data_helper files into a separate directory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix chrome_frame build Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/browsing_data_remover.cc ('k') | chrome/browser/browsing_data_server_bound_cert_helper.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
deleted file mode 100644
index 522a4245a426b2a5febd12864d501dc38ec23839..0000000000000000000000000000000000000000
--- a/chrome/browser/browsing_data_remover_unittest.cc
+++ /dev/null
@@ -1,1156 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/browsing_data_remover.h"
-
-#include <set>
-#include <vector>
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/file_path.h"
-#include "base/file_util.h"
-#include "base/message_loop.h"
-#include "base/platform_file.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/browsing_data_helper.h"
-#include "chrome/browser/extensions/mock_extension_special_storage_policy.h"
-#include "chrome/browser/history/history.h"
-#include "chrome/browser/history/history_service_factory.h"
-#include "chrome/browser/safe_browsing/safe_browsing_service.h"
-#include "chrome/common/chrome_notification_types.h"
-#include "chrome/common/pref_names.h"
-#include "chrome/test/base/testing_browser_process.h"
-#include "chrome/test/base/testing_pref_service.h"
-#include "chrome/test/base/testing_profile.h"
-#include "content/public/browser/dom_storage_context.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/test/test_browser_thread.h"
-#include "net/base/server_bound_cert_service.h"
-#include "net/base/server_bound_cert_store.h"
-#include "net/base/ssl_client_cert_type.h"
-#include "net/cookies/cookie_monster.h"
-#include "net/url_request/url_request_context.h"
-#include "net/url_request/url_request_context_getter.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCString.h"
-#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
-#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h"
-#include "webkit/glue/webkit_glue.h"
-#include "webkit/quota/mock_quota_manager.h"
-#include "webkit/quota/quota_manager.h"
-#include "webkit/quota/quota_types.h"
-
-using content::BrowserThread;
-
-namespace {
-
-const char kTestOrigin1[] = "http://host1:1/";
-const char kTestOrigin2[] = "http://host2:1/";
-const char kTestOrigin3[] = "http://host3:1/";
-const char kTestOriginExt[] = "chrome-extension://abcdefghijklmnopqrstuvwxyz/";
-const char kTestOriginDevTools[] = "chrome-devtools://abcdefghijklmnopqrstuvw/";
-
-const GURL kOrigin1(kTestOrigin1);
-const GURL kOrigin2(kTestOrigin2);
-const GURL kOrigin3(kTestOrigin3);
-const GURL kOriginExt(kTestOriginExt);
-const GURL kOriginDevTools(kTestOriginDevTools);
-
-const FilePath::CharType kDomStorageOrigin1[] =
- FILE_PATH_LITERAL("http_host1_1.localstorage");
-
-const FilePath::CharType kDomStorageOrigin2[] =
- FILE_PATH_LITERAL("http_host2_1.localstorage");
-
-const FilePath::CharType kDomStorageOrigin3[] =
- FILE_PATH_LITERAL("http_host3_1.localstorage");
-
-const FilePath::CharType kDomStorageExt[] = FILE_PATH_LITERAL(
- "chrome-extension_abcdefghijklmnopqrstuvwxyz_0.localstorage");
-
-const quota::StorageType kTemporary = quota::kStorageTypeTemporary;
-const quota::StorageType kPersistent = quota::kStorageTypePersistent;
-
-const quota::QuotaClient::ID kClientFile = quota::QuotaClient::kFileSystem;
-const quota::QuotaClient::ID kClientDB = quota::QuotaClient::kIndexedDatabase;
-
-} // namespace
-
-class BrowsingDataRemoverTester : public BrowsingDataRemover::Observer {
- public:
- BrowsingDataRemoverTester()
- : start_(false),
- already_quit_(false) {}
- virtual ~BrowsingDataRemoverTester() {}
-
- void BlockUntilNotified() {
- if (!already_quit_) {
- DCHECK(!start_);
- start_ = true;
- MessageLoop::current()->Run();
- } else {
- DCHECK(!start_);
- already_quit_ = false;
- }
- }
-
- protected:
- // BrowsingDataRemover::Observer implementation.
- virtual void OnBrowsingDataRemoverDone() {
- Notify();
- }
-
- void Notify() {
- if (start_) {
- DCHECK(!already_quit_);
- MessageLoop::current()->Quit();
- start_ = false;
- } else {
- DCHECK(!already_quit_);
- already_quit_ = true;
- }
- }
-
- private:
- // Helps prevent from running message_loop, if the callback invoked
- // immediately.
- bool start_;
- bool already_quit_;
-
- DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverTester);
-};
-
-// Testers -------------------------------------------------------------------
-
-class RemoveCookieTester : public BrowsingDataRemoverTester {
- public:
- RemoveCookieTester() : get_cookie_success_(false) {
- }
-
- // Returns true, if the given cookie exists in the cookie store.
- bool ContainsCookie() {
- get_cookie_success_ = false;
- monster_->GetCookiesWithOptionsAsync(
- kOrigin1, net::CookieOptions(),
- base::Bind(&RemoveCookieTester::GetCookieCallback,
- base::Unretained(this)));
- BlockUntilNotified();
- return get_cookie_success_;
- }
-
- void AddCookie() {
- monster_->SetCookieWithOptionsAsync(
- kOrigin1, "A=1", net::CookieOptions(),
- base::Bind(&RemoveCookieTester::SetCookieCallback,
- base::Unretained(this)));
- BlockUntilNotified();
- }
-
- protected:
- void SetMonster(net::CookieStore* monster) {
- monster_ = monster;
- }
-
- private:
- void GetCookieCallback(const std::string& cookies) {
- if (cookies == "A=1") {
- get_cookie_success_ = true;
- } else {
- EXPECT_EQ("", cookies);
- get_cookie_success_ = false;
- }
- Notify();
- }
-
- void SetCookieCallback(bool result) {
- ASSERT_TRUE(result);
- Notify();
- }
-
- bool get_cookie_success_;
-
- net::CookieStore* monster_;
-
- DISALLOW_COPY_AND_ASSIGN(RemoveCookieTester);
-};
-
-class RemoveProfileCookieTester : public RemoveCookieTester {
- public:
- explicit RemoveProfileCookieTester(TestingProfile* profile) {
- profile->CreateRequestContext();
- SetMonster(profile->GetRequestContext()->GetURLRequestContext()->
- cookie_store()->GetCookieMonster());
- }
-};
-
-#if defined(ENABLE_SAFE_BROWSING)
-class RemoveSafeBrowsingCookieTester : public RemoveCookieTester {
- public:
- RemoveSafeBrowsingCookieTester()
- : browser_process_(
- static_cast<TestingBrowserProcess*>(g_browser_process)) {
- scoped_refptr<SafeBrowsingService> sb_service =
- SafeBrowsingService::CreateSafeBrowsingService();
- browser_process_->SetSafeBrowsingService(sb_service);
- sb_service->Initialize();
- MessageLoop::current()->RunAllPending();
-
- // Create a cookiemonster that does not have persistant storage, and replace
- // the SafeBrowsingService created one with it.
- net::CookieStore* monster = new net::CookieMonster(NULL, NULL);
- sb_service->url_request_context()->GetURLRequestContext()->
- set_cookie_store(monster);
- SetMonster(monster);
- }
-
- virtual ~RemoveSafeBrowsingCookieTester() {
- browser_process_->safe_browsing_service()->ShutDown();
- MessageLoop::current()->RunAllPending();
- browser_process_->SetSafeBrowsingService(NULL);
- }
-
- private:
- TestingBrowserProcess* browser_process_;
-
- DISALLOW_COPY_AND_ASSIGN(RemoveSafeBrowsingCookieTester);
-};
-#endif
-
-class RemoveServerBoundCertTester : public BrowsingDataRemoverTester {
- public:
- explicit RemoveServerBoundCertTester(TestingProfile* profile) {
- profile->CreateRequestContext();
- server_bound_cert_service_ = profile->GetRequestContext()->
- GetURLRequestContext()->server_bound_cert_service();
- }
-
- int ServerBoundCertCount() {
- return server_bound_cert_service_->cert_count();
- }
-
- // Add a server bound cert for |server| with specific creation and expiry
- // times. The cert and key data will be filled with dummy values.
- void AddServerBoundCertWithTimes(const std::string& server_identifier,
- base::Time creation_time,
- base::Time expiration_time) {
- GetCertStore()->SetServerBoundCert(server_identifier,
- net::CLIENT_CERT_RSA_SIGN, creation_time,
- expiration_time, "a", "b");
- }
-
- // Add a server bound cert for |server|, with the current time as the
- // creation time. The cert and key data will be filled with dummy values.
- void AddServerBoundCert(const std::string& server_identifier) {
- base::Time now = base::Time::Now();
- AddServerBoundCertWithTimes(server_identifier,
- now,
- now + base::TimeDelta::FromDays(1));
- }
-
- net::ServerBoundCertStore* GetCertStore() {
- return server_bound_cert_service_->GetCertStore();
- }
-
- private:
- net::ServerBoundCertService* server_bound_cert_service_;
-
- net::SSLClientCertType type_;
- std::string key_;
- std::string cert_;
-
- DISALLOW_COPY_AND_ASSIGN(RemoveServerBoundCertTester);
-};
-
-class RemoveHistoryTester : public BrowsingDataRemoverTester {
- public:
- explicit RemoveHistoryTester(TestingProfile* profile)
- : query_url_success_(false) {
- profile->CreateHistoryService(true, false);
- history_service_ = HistoryServiceFactory::GetForProfile(
- profile, Profile::EXPLICIT_ACCESS);
- }
-
- // Returns true, if the given URL exists in the history service.
- bool HistoryContainsURL(const GURL& url) {
- history_service_->QueryURL(
- url,
- true,
- &consumer_,
- base::Bind(&RemoveHistoryTester::SaveResultAndQuit,
- base::Unretained(this)));
- BlockUntilNotified();
- return query_url_success_;
- }
-
- void AddHistory(const GURL& url, base::Time time) {
- history_service_->AddPage(url, time, NULL, 0, GURL(),
- content::PAGE_TRANSITION_LINK, history::RedirectList(),
- history::SOURCE_BROWSED, false);
- }
-
- private:
- // Callback for HistoryService::QueryURL.
- void SaveResultAndQuit(HistoryService::Handle,
- bool success,
- const history::URLRow*,
- history::VisitVector*) {
- query_url_success_ = success;
- Notify();
- }
-
-
- // For History requests.
- CancelableRequestConsumer consumer_;
- bool query_url_success_;
-
- // TestingProfile owns the history service; we shouldn't delete it.
- HistoryService* history_service_;
-
- DISALLOW_COPY_AND_ASSIGN(RemoveHistoryTester);
-};
-
-class RemoveLocalStorageTester : public BrowsingDataRemoverTester {
- public:
- explicit RemoveLocalStorageTester(TestingProfile* profile)
- : profile_(profile), dom_storage_context_(NULL) {
- dom_storage_context_ =
- content::BrowserContext::GetDefaultDOMStorageContext(profile);
- }
-
- // Returns true, if the given origin URL exists.
- bool DOMStorageExistsForOrigin(const GURL& origin) {
- GetUsageInfo();
- BlockUntilNotified();
- for (size_t i = 0; i < infos_.size(); ++i) {
- if (origin == infos_[i].origin)
- return true;
- }
- return false;
- }
-
- void AddDOMStorageTestData() {
- // Note: This test depends on details of how the dom_storage library
- // stores data in the host file system.
- FilePath storage_path = profile_->GetPath().AppendASCII("Local Storage");
- file_util::CreateDirectory(storage_path);
-
- // Write some files.
- file_util::WriteFile(storage_path.Append(kDomStorageOrigin1), NULL, 0);
- file_util::WriteFile(storage_path.Append(kDomStorageOrigin2), NULL, 0);
- file_util::WriteFile(storage_path.Append(kDomStorageOrigin3), NULL, 0);
- file_util::WriteFile(storage_path.Append(kDomStorageExt), NULL, 0);
-
- // Tweak their dates.
- file_util::SetLastModifiedTime(storage_path.Append(kDomStorageOrigin1),
- base::Time::Now());
- file_util::SetLastModifiedTime(storage_path.Append(kDomStorageOrigin2),
- base::Time::Now() - base::TimeDelta::FromDays(1));
- file_util::SetLastModifiedTime(storage_path.Append(kDomStorageOrigin3),
- base::Time::Now() - base::TimeDelta::FromDays(60));
- file_util::SetLastModifiedTime(storage_path.Append(kDomStorageExt),
- base::Time::Now());
- }
-
- private:
- void GetUsageInfo() {
- dom_storage_context_->GetUsageInfo(
- base::Bind(&RemoveLocalStorageTester::OnGotUsageInfo,
- base::Unretained(this)));
- }
- void OnGotUsageInfo(
- const std::vector<dom_storage::DomStorageContext::UsageInfo>& infos) {
- infos_ = infos;
- Notify();
- }
-
- // We don't own these pointers.
- TestingProfile* profile_;
- content::DOMStorageContext* dom_storage_context_;
-
- std::vector<dom_storage::DomStorageContext::UsageInfo> infos_;
-
- DISALLOW_COPY_AND_ASSIGN(RemoveLocalStorageTester);
-};
-class RemoveQuotaManagedDataTester : public BrowsingDataRemoverTester {
- public:
- RemoveQuotaManagedDataTester() {}
- virtual ~RemoveQuotaManagedDataTester() {}
-
- void PopulateTestQuotaManagedData(quota::MockQuotaManager* manager) {
- // Set up kOrigin1 with a temporary quota, kOrigin2 with a persistent
- // quota, and kOrigin3 with both. kOrigin1 is modified now, kOrigin2
- // is modified at the beginning of time, and kOrigin3 is modified one day
- // ago.
- PopulateTestQuotaManagedPersistentData(manager);
- PopulateTestQuotaManagedTemporaryData(manager);
- }
-
- void PopulateTestQuotaManagedNonBrowsingData(
- quota::MockQuotaManager* manager) {
- manager->AddOrigin(kOriginDevTools, kTemporary, kClientFile, base::Time());
- manager->AddOrigin(kOriginDevTools, kPersistent, kClientFile, base::Time());
- manager->AddOrigin(kOriginExt, kTemporary, kClientFile, base::Time());
- manager->AddOrigin(kOriginExt, kPersistent, kClientFile, base::Time());
- }
-
- void PopulateTestQuotaManagedPersistentData(
- quota::MockQuotaManager* manager) {
- manager->AddOrigin(kOrigin2, kPersistent, kClientFile, base::Time());
- manager->AddOrigin(kOrigin3, kPersistent, kClientFile,
- base::Time::Now() - base::TimeDelta::FromDays(1));
-
- EXPECT_FALSE(manager->OriginHasData(kOrigin1, kPersistent, kClientFile));
- EXPECT_TRUE(manager->OriginHasData(kOrigin2, kPersistent, kClientFile));
- EXPECT_TRUE(manager->OriginHasData(kOrigin3, kPersistent, kClientFile));
- }
-
- void PopulateTestQuotaManagedTemporaryData(quota::MockQuotaManager* manager) {
- manager->AddOrigin(kOrigin1, kTemporary, kClientFile, base::Time::Now());
- manager->AddOrigin(kOrigin3, kTemporary, kClientFile,
- base::Time::Now() - base::TimeDelta::FromDays(1));
-
- EXPECT_TRUE(manager->OriginHasData(kOrigin1, kTemporary, kClientFile));
- EXPECT_FALSE(manager->OriginHasData(kOrigin2, kTemporary, kClientFile));
- EXPECT_TRUE(manager->OriginHasData(kOrigin3, kTemporary, kClientFile));
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(RemoveQuotaManagedDataTester);
-};
-
-// Test Class ----------------------------------------------------------------
-
-class BrowsingDataRemoverTest : public testing::Test,
- public content::NotificationObserver {
- public:
- BrowsingDataRemoverTest()
- : ui_thread_(BrowserThread::UI, &message_loop_),
- db_thread_(BrowserThread::DB, &message_loop_),
- webkit_thread_(BrowserThread::WEBKIT_DEPRECATED, &message_loop_),
- file_thread_(BrowserThread::FILE, &message_loop_),
- file_user_blocking_thread_(
- BrowserThread::FILE_USER_BLOCKING, &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() {
- }
-
- void TearDown() {
- // TestingProfile contains a DOMStorageContext. BrowserContext's destructor
- // posts a message to the WEBKIT thread to delete some of its member
- // variables. We need to ensure that the profile is destroyed, and that
- // the message loop is cleared out, before destroying the threads and loop.
- // Otherwise we leak memory.
- profile_.reset();
- message_loop_.RunAllPending();
- }
-
- void BlockUntilBrowsingDataRemoved(BrowsingDataRemover::TimePeriod period,
- int remove_mask,
- bool include_protected_origins,
- BrowsingDataRemoverTester* tester) {
- BrowsingDataRemover* remover = new BrowsingDataRemover(
- profile_.get(), period,
- base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
- remover->OverrideQuotaManagerForTesting(GetMockManager());
- remover->AddObserver(tester);
-
- called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
-
- // BrowsingDataRemover deletes itself when it completes.
- int origin_set_mask = BrowsingDataHelper::UNPROTECTED_WEB;
- if (include_protected_origins)
- origin_set_mask |= BrowsingDataHelper::PROTECTED_WEB;
- remover->Remove(remove_mask, origin_set_mask);
- tester->BlockUntilNotified();
- }
-
- void BlockUntilOriginDataRemoved(BrowsingDataRemover::TimePeriod period,
- int remove_mask,
- const GURL& remove_origin,
- BrowsingDataRemoverTester* tester) {
- BrowsingDataRemover* remover = new BrowsingDataRemover(
- profile_.get(), period,
- base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
- remover->OverrideQuotaManagerForTesting(GetMockManager());
- remover->AddObserver(tester);
-
- called_with_details_.reset(new BrowsingDataRemover::NotificationDetails());
-
- // BrowsingDataRemover deletes itself when it completes.
- remover->RemoveImpl(remove_mask, remove_origin,
- BrowsingDataHelper::UNPROTECTED_WEB);
- tester->BlockUntilNotified();
- }
-
- TestingProfile* GetProfile() {
- return profile_.get();
- }
-
- base::Time GetBeginTime() {
- return called_with_details_->removal_begin;
- }
-
- int GetRemovalMask() {
- return called_with_details_->removal_mask;
- }
-
- int GetOriginSetMask() {
- return called_with_details_->origin_set_mask;
- }
-
- quota::MockQuotaManager* GetMockManager() {
- if (!quota_manager_) {
- quota_manager_ = new quota::MockQuotaManager(
- profile_->IsOffTheRecord(),
- profile_->GetPath(),
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO),
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB),
- profile_->GetExtensionSpecialStoragePolicy());
- }
- return quota_manager_;
- }
-
- // 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();
- }
-
- protected:
- RemoveQuotaManagedDataTester tester_;
-
- 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_;
- content::TestBrowserThread ui_thread_;
- content::TestBrowserThread db_thread_;
- content::TestBrowserThread webkit_thread_;
- content::TestBrowserThread file_thread_;
- content::TestBrowserThread file_user_blocking_thread_;
- content::TestBrowserThread io_thread_;
- scoped_ptr<TestingProfile> profile_;
- scoped_refptr<quota::MockQuotaManager> quota_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemoverTest);
-};
-
-// Tests ---------------------------------------------------------------------
-
-TEST_F(BrowsingDataRemoverTest, RemoveCookieForever) {
- scoped_ptr<RemoveProfileCookieTester> tester(
- new RemoveProfileCookieTester(GetProfile()));
-
- tester->AddCookie();
- ASSERT_TRUE(tester->ContainsCookie());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(tester->ContainsCookie());
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveCookieLastHour) {
- scoped_ptr<RemoveProfileCookieTester> tester(
- new RemoveProfileCookieTester(GetProfile()));
-
- tester->AddCookie();
- ASSERT_TRUE(tester->ContainsCookie());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
- BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(tester->ContainsCookie());
-}
-
-#if defined(ENABLE_SAFE_BROWSING)
-TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieForever) {
- scoped_ptr<RemoveSafeBrowsingCookieTester> tester(
- new RemoveSafeBrowsingCookieTester());
-
- tester->AddCookie();
- ASSERT_TRUE(tester->ContainsCookie());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(tester->ContainsCookie());
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveSafeBrowsingCookieLastHour) {
- scoped_ptr<RemoveSafeBrowsingCookieTester> tester(
- new RemoveSafeBrowsingCookieTester());
-
- tester->AddCookie();
- ASSERT_TRUE(tester->ContainsCookie());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
- BrowsingDataRemover::REMOVE_COOKIES, false, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_COOKIES, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- // Removing with time period other than EVERYTHING should not clear safe
- // browsing cookies.
- EXPECT_TRUE(tester->ContainsCookie());
-}
-#endif
-
-TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertForever) {
- scoped_ptr<RemoveServerBoundCertTester> tester(
- new RemoveServerBoundCertTester(GetProfile()));
-
- tester->AddServerBoundCert(kTestOrigin1);
- EXPECT_EQ(1, tester->ServerBoundCertCount());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, false, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_EQ(0, tester->ServerBoundCertCount());
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveServerBoundCertLastHour) {
- scoped_ptr<RemoveServerBoundCertTester> tester(
- new RemoveServerBoundCertTester(GetProfile()));
-
- base::Time now = base::Time::Now();
- tester->AddServerBoundCert(kTestOrigin1);
- tester->AddServerBoundCertWithTimes(kTestOrigin2,
- now - base::TimeDelta::FromHours(2),
- now);
- EXPECT_EQ(2, tester->ServerBoundCertCount());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
- BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, false, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_SERVER_BOUND_CERTS, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_EQ(1, tester->ServerBoundCertCount());
- net::ServerBoundCertStore::ServerBoundCertList certs;
- tester->GetCertStore()->GetAllServerBoundCerts(&certs);
- EXPECT_EQ(kTestOrigin2, certs.front().server_identifier());
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveUnprotectedLocalStorageForever) {
- // Protect kOrigin1.
- scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
- new MockExtensionSpecialStoragePolicy;
- mock_policy->AddProtected(kOrigin1.GetOrigin());
- GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
-
- scoped_ptr<RemoveLocalStorageTester> tester(
- new RemoveLocalStorageTester(GetProfile()));
-
- tester->AddDOMStorageTestData();
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin1));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin2));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin3));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOriginExt));
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_LOCAL_STORAGE, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin1));
- EXPECT_FALSE(tester->DOMStorageExistsForOrigin(kOrigin2));
- EXPECT_FALSE(tester->DOMStorageExistsForOrigin(kOrigin3));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOriginExt));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveProtectedLocalStorageForever) {
- // Protect kOrigin1.
- scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
- new MockExtensionSpecialStoragePolicy;
- mock_policy->AddProtected(kOrigin1.GetOrigin());
- GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
-
- scoped_ptr<RemoveLocalStorageTester> tester(
- new RemoveLocalStorageTester(GetProfile()));
-
- tester->AddDOMStorageTestData();
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin1));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin2));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin3));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOriginExt));
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_LOCAL_STORAGE, true, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::PROTECTED_WEB |
- BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(tester->DOMStorageExistsForOrigin(kOrigin1));
- EXPECT_FALSE(tester->DOMStorageExistsForOrigin(kOrigin2));
- EXPECT_FALSE(tester->DOMStorageExistsForOrigin(kOrigin3));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOriginExt));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveLocalStorageForLastWeek) {
- scoped_ptr<RemoveLocalStorageTester> tester(
- new RemoveLocalStorageTester(GetProfile()));
-
- tester->AddDOMStorageTestData();
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin1));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin2));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin3));
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK,
- BrowsingDataRemover::REMOVE_LOCAL_STORAGE, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_LOCAL_STORAGE, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(tester->DOMStorageExistsForOrigin(kOrigin1));
- EXPECT_FALSE(tester->DOMStorageExistsForOrigin(kOrigin2));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOrigin3));
- EXPECT_TRUE(tester->DOMStorageExistsForOrigin(kOriginExt));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveHistoryForever) {
- scoped_ptr<RemoveHistoryTester> tester(
- new RemoveHistoryTester(GetProfile()));
-
- tester->AddHistory(kOrigin1, base::Time::Now());
- ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_HISTORY, false, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveHistoryForLastHour) {
- scoped_ptr<RemoveHistoryTester> tester(
- new RemoveHistoryTester(GetProfile()));
-
- base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
-
- tester->AddHistory(kOrigin1, base::Time::Now());
- tester->AddHistory(kOrigin2, two_hours_ago);
- ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
- ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
- BrowsingDataRemover::REMOVE_HISTORY, false, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(tester->HistoryContainsURL(kOrigin1));
- EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
-}
-
-TEST_F(BrowsingDataRemoverTest, QuotaClientMaskGeneration) {
- EXPECT_EQ(quota::QuotaClient::kFileSystem,
- BrowsingDataRemover::GenerateQuotaClientMask(
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS));
- EXPECT_EQ(quota::QuotaClient::kDatabase,
- BrowsingDataRemover::GenerateQuotaClientMask(
- BrowsingDataRemover::REMOVE_WEBSQL));
- EXPECT_EQ(quota::QuotaClient::kAppcache,
- BrowsingDataRemover::GenerateQuotaClientMask(
- BrowsingDataRemover::REMOVE_APPCACHE));
- EXPECT_EQ(quota::QuotaClient::kIndexedDatabase,
- BrowsingDataRemover::GenerateQuotaClientMask(
- BrowsingDataRemover::REMOVE_INDEXEDDB));
- EXPECT_EQ(quota::QuotaClient::kFileSystem |
- quota::QuotaClient::kDatabase |
- quota::QuotaClient::kAppcache |
- quota::QuotaClient::kIndexedDatabase,
- BrowsingDataRemover::GenerateQuotaClientMask(
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverBoth) {
- tester_.PopulateTestQuotaManagedData(GetMockManager());
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyTemporary) {
- tester_.PopulateTestQuotaManagedTemporaryData(GetMockManager());
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverOnlyPersistent) {
- tester_.PopulateTestQuotaManagedPersistentData(GetMockManager());
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverNeither) {
- GetMockManager(); // Creates the QuotaManager instance.
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForeverSpecificOrigin) {
- tester_.PopulateTestQuotaManagedData(GetMockManager());
-
- // Remove Origin 1.
- BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_INDEXEDDB |
- BrowsingDataRemover::REMOVE_WEBSQL, kOrigin1, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_INDEXEDDB |
- BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastHour) {
- tester_.PopulateTestQuotaManagedData(GetMockManager());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_HOUR,
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedDataForLastWeek) {
- tester_.PopulateTestQuotaManagedData(GetMockManager());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::LAST_WEEK,
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedUnprotectedOrigins) {
- // Protect kOrigin1.
- scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
- new MockExtensionSpecialStoragePolicy;
- mock_policy->AddProtected(kOrigin1.GetOrigin());
- GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
-
- tester_.PopulateTestQuotaManagedData(GetMockManager());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_WEBSQL |
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_INDEXEDDB, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedSpecificOrigin) {
- // Protect kOrigin1.
- scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
- new MockExtensionSpecialStoragePolicy;
- mock_policy->AddProtected(kOrigin1.GetOrigin());
- GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
-
- tester_.PopulateTestQuotaManagedData(GetMockManager());
-
- // Try to remove kOrigin1. Expect failure.
- BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_INDEXEDDB |
- BrowsingDataRemover::REMOVE_WEBSQL, kOrigin1, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_INDEXEDDB |
- BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedProtectedOrigins) {
- // Protect kOrigin1.
- scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
- new MockExtensionSpecialStoragePolicy;
- mock_policy->AddProtected(kOrigin1.GetOrigin());
- GetProfile()->SetExtensionSpecialStoragePolicy(mock_policy);
-
- tester_.PopulateTestQuotaManagedData(GetMockManager());
-
- // Try to remove kOrigin1. Expect success.
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_INDEXEDDB |
- BrowsingDataRemover::REMOVE_WEBSQL, true, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_INDEXEDDB |
- BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::PROTECTED_WEB |
- BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kTemporary,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin1, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin2, kPersistent,
- kClientFile));
- EXPECT_FALSE(GetMockManager()->OriginHasData(kOrigin3, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, RemoveQuotaManagedIgnoreExtensionsAndDevTools) {
- tester_.PopulateTestQuotaManagedNonBrowsingData(GetMockManager());
-
- BlockUntilBrowsingDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_INDEXEDDB |
- BrowsingDataRemover::REMOVE_WEBSQL, false, &tester_);
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_APPCACHE |
- BrowsingDataRemover::REMOVE_FILE_SYSTEMS |
- BrowsingDataRemover::REMOVE_INDEXEDDB |
- BrowsingDataRemover::REMOVE_WEBSQL, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
-
- // Check that extension and devtools data isn't removed.
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kTemporary,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginExt, kPersistent,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginDevTools, kTemporary,
- kClientFile));
- EXPECT_TRUE(GetMockManager()->OriginHasData(kOriginDevTools, kPersistent,
- kClientFile));
-}
-
-TEST_F(BrowsingDataRemoverTest, OriginBasedHistoryRemoval) {
- scoped_ptr<RemoveHistoryTester> tester(
- new RemoveHistoryTester(GetProfile()));
-
- base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
-
- tester->AddHistory(kOrigin1, base::Time::Now());
- tester->AddHistory(kOrigin2, two_hours_ago);
- ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
- ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
-
- BlockUntilOriginDataRemoved(BrowsingDataRemover::EVERYTHING,
- BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1));
- EXPECT_FALSE(tester->HistoryContainsURL(kOrigin2));
-}
-
-TEST_F(BrowsingDataRemoverTest, OriginAndTimeBasedHistoryRemoval) {
- scoped_ptr<RemoveHistoryTester> tester(
- new RemoveHistoryTester(GetProfile()));
-
- base::Time two_hours_ago = base::Time::Now() - base::TimeDelta::FromHours(2);
-
- tester->AddHistory(kOrigin1, base::Time::Now());
- tester->AddHistory(kOrigin2, two_hours_ago);
- ASSERT_TRUE(tester->HistoryContainsURL(kOrigin1));
- ASSERT_TRUE(tester->HistoryContainsURL(kOrigin2));
-
- BlockUntilOriginDataRemoved(BrowsingDataRemover::LAST_HOUR,
- BrowsingDataRemover::REMOVE_HISTORY, kOrigin2, tester.get());
-
- EXPECT_EQ(BrowsingDataRemover::REMOVE_HISTORY, GetRemovalMask());
- EXPECT_EQ(BrowsingDataHelper::UNPROTECTED_WEB, GetOriginSetMask());
- EXPECT_TRUE(tester->HistoryContainsURL(kOrigin1));
- EXPECT_TRUE(tester->HistoryContainsURL(kOrigin2));
-}
« no previous file with comments | « chrome/browser/browsing_data_remover.cc ('k') | chrome/browser/browsing_data_server_bound_cert_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698