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

Unified Diff: chrome/browser/chrome_content_browser_client_unittest.cc

Issue 2768883002: Change MockBrowsingDataRemover to MockBrowsingDataRemoverDelegate (Closed)
Patch Set: Fixed the comment. Created 3 years, 9 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
Index: chrome/browser/chrome_content_browser_client_unittest.cc
diff --git a/chrome/browser/chrome_content_browser_client_unittest.cc b/chrome/browser/chrome_content_browser_client_unittest.cc
index 8c58ceeef6810dca56fed6fb63ab6c6943c412f1..e09b076f2ee53467a45de8d768b8289720b45971 100644
--- a/chrome/browser/chrome_content_browser_client_unittest.cc
+++ b/chrome/browser/chrome_content_browser_client_unittest.cc
@@ -14,13 +14,14 @@
#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "base/metrics/field_trial.h"
+#include "base/run_loop.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "chrome/browser/browsing_data/browsing_data_helper.h"
#include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
#include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
-#include "chrome/browser/browsing_data/mock_browsing_data_remover.h"
+#include "chrome/browser/browsing_data/mock_browsing_data_remover_delegate.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/test/base/testing_profile.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -31,6 +32,7 @@
#include "content/public/browser/browsing_data_filter_builder.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
+#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/test_browser_thread_bundle.h"
@@ -348,30 +350,31 @@ namespace {
class ChromeContentBrowserClientClearSiteDataTest : public testing::Test {
public:
void SetUp() override {
- BrowsingDataRemoverFactory::GetInstance()->SetTestingFactoryAndUse(
- &profile_, &ChromeContentBrowserClientClearSiteDataTest::GetRemover);
+ BrowsingDataRemoverFactory::GetForBrowserContext(profile())
+ ->SetEmbedderDelegate(
+ base::MakeUnique<MockBrowsingDataRemoverDelegate>());
+ run_loop_.reset(new base::RunLoop());
}
content::BrowserContext* profile() { return &profile_; }
- MockBrowsingDataRemover* remover() {
- return static_cast<MockBrowsingDataRemover*>(
- BrowsingDataRemoverFactory::GetForBrowserContext(&profile_));
+ MockBrowsingDataRemoverDelegate* delegate() {
+ return static_cast<MockBrowsingDataRemoverDelegate*>(
+ BrowsingDataRemoverFactory::GetForBrowserContext(profile())
+ ->GetEmbedderDelegate());
}
- void SetClearingFinished(bool finished) { finished_ = finished; }
+ void OnClearingFinished() { run_loop_->Quit(); }
- bool IsClearingFinished() { return finished_; }
-
- private:
- static std::unique_ptr<KeyedService> GetRemover(
- content::BrowserContext* context) {
- return base::WrapUnique(new MockBrowsingDataRemover(context));
+ void WaitForClearingFinished() {
+ run_loop_->Run();
+ run_loop_.reset(new base::RunLoop());
}
+ private:
+ std::unique_ptr<base::RunLoop> run_loop_;
content::TestBrowserThreadBundle thread_bundle_;
TestingProfile profile_;
- bool finished_;
};
// Tests that the parameters to ClearBrowsingData() are translated to
@@ -434,27 +437,26 @@ TEST_F(ChromeContentBrowserClientClearSiteDataTest, Parameters) {
int origin_deletion_mask = test_case.mask & ~domain_scoped_types;
if (registrable_domain_deletion_mask) {
- remover()->ExpectCallDontCareAboutFilterBuilder(
- base::Time(), base::Time::Max(),
- registrable_domain_deletion_mask, all_origin_types);
+ delegate()->ExpectCallDontCareAboutFilterBuilder(
+ base::Time(), base::Time::Max(), registrable_domain_deletion_mask,
+ all_origin_types);
}
if (origin_deletion_mask) {
- remover()->ExpectCallDontCareAboutFilterBuilder(
- base::Time(), base::Time::Max(),
- origin_deletion_mask, all_origin_types);
+ delegate()->ExpectCallDontCareAboutFilterBuilder(
+ base::Time(), base::Time::Max(), origin_deletion_mask,
+ all_origin_types);
}
- SetClearingFinished(false);
client.ClearSiteData(
profile(), url::Origin(GURL("https://www.example.com")),
test_case.cookies, test_case.storage, test_case.cache,
base::Bind(
- &ChromeContentBrowserClientClearSiteDataTest::SetClearingFinished,
- base::Unretained(this), true));
- EXPECT_TRUE(IsClearingFinished());
+ &ChromeContentBrowserClientClearSiteDataTest::OnClearingFinished,
+ base::Unretained(this)));
+ WaitForClearingFinished();
- remover()->VerifyAndClearExpectations();
+ delegate()->VerifyAndClearExpectations();
}
}
@@ -509,34 +511,33 @@ TEST_F(ChromeContentBrowserClientClearSiteDataTest, RegistrableDomains) {
BrowsingDataFilterBuilder::WHITELIST));
registrable_domain_filter_builder->AddRegisterableDomain(test_case.domain);
- remover()->ExpectCall(
+ delegate()->ExpectCall(
base::Time(), base::Time::Max(),
BrowsingDataRemover::DATA_TYPE_COOKIES |
BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS |
ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA,
ChromeBrowsingDataRemoverDelegate::ALL_ORIGIN_TYPES,
- std::move(registrable_domain_filter_builder));
+ *registrable_domain_filter_builder);
std::unique_ptr<BrowsingDataFilterBuilder> origin_filter_builder(
BrowsingDataFilterBuilder::Create(
BrowsingDataFilterBuilder::WHITELIST));
origin_filter_builder->AddOrigin(url::Origin(GURL(test_case.origin)));
- remover()->ExpectCall(base::Time(), base::Time::Max(),
- BrowsingDataRemover::DATA_TYPE_CACHE,
- ChromeBrowsingDataRemoverDelegate::ALL_ORIGIN_TYPES,
- std::move(origin_filter_builder));
+ delegate()->ExpectCall(base::Time(), base::Time::Max(),
+ BrowsingDataRemover::DATA_TYPE_CACHE,
+ ChromeBrowsingDataRemoverDelegate::ALL_ORIGIN_TYPES,
+ *origin_filter_builder);
- SetClearingFinished(false);
client.ClearSiteData(
profile(), url::Origin(GURL(test_case.origin)), true /* cookies */,
false /* storage */, true /* cache */,
base::Bind(
- &ChromeContentBrowserClientClearSiteDataTest::SetClearingFinished,
- base::Unretained(this), true));
- EXPECT_TRUE(IsClearingFinished());
+ &ChromeContentBrowserClientClearSiteDataTest::OnClearingFinished,
+ base::Unretained(this)));
+ WaitForClearingFinished();
- remover()->VerifyAndClearExpectations();
+ delegate()->VerifyAndClearExpectations();
}
}
@@ -547,44 +548,40 @@ TEST_F(ChromeContentBrowserClientClearSiteDataTest, Tasks) {
url::Origin origin(GURL("https://www.example.com"));
// No removal tasks.
- SetClearingFinished(false);
client.ClearSiteData(
profile(), origin, false /* cookies */, false /* storage */,
false /* cache */,
base::Bind(
- &ChromeContentBrowserClientClearSiteDataTest::SetClearingFinished,
- base::Unretained(this), true));
- EXPECT_TRUE(IsClearingFinished());
+ &ChromeContentBrowserClientClearSiteDataTest::OnClearingFinished,
+ base::Unretained(this)));
+ WaitForClearingFinished();
// One removal task: deleting cookies with a domain filter.
- SetClearingFinished(false);
client.ClearSiteData(
profile(), origin, true /* cookies */, false /* storage */,
false /* cache */,
base::Bind(
- &ChromeContentBrowserClientClearSiteDataTest::SetClearingFinished,
- base::Unretained(this), true));
- EXPECT_TRUE(IsClearingFinished());
+ &ChromeContentBrowserClientClearSiteDataTest::OnClearingFinished,
+ base::Unretained(this)));
+ WaitForClearingFinished();
// One removal task: deleting cache with a domain filter.
- SetClearingFinished(false);
client.ClearSiteData(
profile(), origin, false /* cookies */, false /* storage */,
true /* cache */,
base::Bind(
- &ChromeContentBrowserClientClearSiteDataTest::SetClearingFinished,
- base::Unretained(this), true));
- EXPECT_TRUE(IsClearingFinished());
+ &ChromeContentBrowserClientClearSiteDataTest::OnClearingFinished,
+ base::Unretained(this)));
+ WaitForClearingFinished();
// Two removal tasks, with domain and origin filters respectively.
- SetClearingFinished(false);
client.ClearSiteData(
profile(), origin, true /* cookies */, false /* storage */,
true /* cache */,
base::Bind(
- &ChromeContentBrowserClientClearSiteDataTest::SetClearingFinished,
- base::Unretained(this), true));
- EXPECT_TRUE(IsClearingFinished());
+ &ChromeContentBrowserClientClearSiteDataTest::OnClearingFinished,
+ base::Unretained(this)));
+ WaitForClearingFinished();
}
} // namespace

Powered by Google App Engine
This is Rietveld 408576698