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

Unified Diff: chrome/browser/browsing_data/browsing_data_remover_unittest.cc

Issue 2132563003: Implement origin-based deletion for the domain reliability service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated DomainReliabilityMonitorTest Created 4 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
Index: chrome/browser/browsing_data/browsing_data_remover_unittest.cc
diff --git a/chrome/browser/browsing_data/browsing_data_remover_unittest.cc b/chrome/browser/browsing_data/browsing_data_remover_unittest.cc
index 0084c25ea4bebd6759fab493af9e3228ce5dfa0d..43ae571531aff034aedcbf72cfd71fda70cc94fe 100644
--- a/chrome/browser/browsing_data/browsing_data_remover_unittest.cc
+++ b/chrome/browser/browsing_data/browsing_data_remover_unittest.cc
@@ -349,7 +349,8 @@ class ProbablySameFilterMatcher
{kOrigin1, kOrigin2, kOrigin3, GURL("invalid spec")};
for (GURL url : urls_to_test_) {
if (filter.Run(url) != to_match_.Run(url)) {
- *listener << "The filters differ on the URL " << url;
+ if (listener)
+ *listener << "The filters differ on the URL " << url;
return false;
}
}
@@ -373,6 +374,12 @@ inline Matcher<const base::Callback<bool(const GURL&)>&> ProbablySameFilter(
return MakeMatcher(new ProbablySameFilterMatcher(filter));
}
+bool ProbablySameFilters(
+ const base::Callback<bool(const GURL&)>& filter1,
+ const base::Callback<bool(const GURL&)>& filter2) {
+ return ProbablySameFilter(filter1).MatchAndExplain(filter2, nullptr);
+}
+
} // namespace
// Testers -------------------------------------------------------------------
@@ -847,10 +854,13 @@ class MockDomainReliabilityService : public DomainReliabilityService {
return std::unique_ptr<DomainReliabilityMonitor>();
}
- void ClearBrowsingData(DomainReliabilityClearMode clear_mode,
- const base::Closure& callback) override {
+ void ClearBrowsingData(
+ DomainReliabilityClearMode clear_mode,
+ const base::Callback<bool(const GURL&)>& origin_filter,
+ const base::Closure& callback) override {
clear_count_++;
last_clear_mode_ = clear_mode;
+ last_filter_ = origin_filter;
callback.Run();
}
@@ -865,9 +875,14 @@ class MockDomainReliabilityService : public DomainReliabilityService {
return last_clear_mode_;
}
+ const base::Callback<bool(const GURL&)>& last_filter() const {
+ return last_filter_;
+ }
+
private:
unsigned clear_count_ = 0;
DomainReliabilityClearMode last_clear_mode_;
+ base::Callback<bool(const GURL&)> last_filter_;
};
struct TestingDomainReliabilityServiceFactoryUserData
@@ -920,6 +935,10 @@ class ClearDomainReliabilityTester {
return mock_service_->last_clear_mode();
}
+ const base::Callback<bool(const GURL&)>& last_filter() const {
+ return mock_service_->last_filter();
+ }
+
private:
void AttachService() {
const void* kKey = TestingDomainReliabilityServiceFactoryUserData::kKey;
@@ -2274,6 +2293,24 @@ TEST_F(BrowsingDataRemoverTest, DomainReliability_Beacons) {
BrowsingDataRemover::REMOVE_HISTORY, false);
EXPECT_EQ(1u, tester.clear_count());
EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode());
+ EXPECT_TRUE(ProbablySameFilters(
+ BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter()));
+}
+
+TEST_F(BrowsingDataRemoverTest, DomainReliability_Beacons_WithFilter) {
+ const ClearDomainReliabilityTester& tester =
+ clear_domain_reliability_tester();
+
+ RegistrableDomainFilterBuilder builder(
+ RegistrableDomainFilterBuilder::WHITELIST);
+ builder.AddRegisterableDomain(kTestRegisterableDomain1);
+
+ BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
+ BrowsingDataRemover::REMOVE_HISTORY, builder);
+ EXPECT_EQ(1u, tester.clear_count());
+ EXPECT_EQ(CLEAR_BEACONS, tester.last_clear_mode());
+ EXPECT_TRUE(ProbablySameFilters(
+ builder.BuildGeneralFilter(), tester.last_filter()));
}
TEST_F(BrowsingDataRemoverTest, DomainReliability_Contexts) {
@@ -2284,6 +2321,24 @@ TEST_F(BrowsingDataRemoverTest, DomainReliability_Contexts) {
BrowsingDataRemover::REMOVE_COOKIES, false);
EXPECT_EQ(1u, tester.clear_count());
EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode());
+ EXPECT_TRUE(ProbablySameFilters(
+ BrowsingDataFilterBuilder::BuildNoopFilter(), tester.last_filter()));
+}
+
+TEST_F(BrowsingDataRemoverTest, DomainReliability_Contexts_WithFilter) {
+ const ClearDomainReliabilityTester& tester =
+ clear_domain_reliability_tester();
+
+ RegistrableDomainFilterBuilder builder(
+ RegistrableDomainFilterBuilder::WHITELIST);
+ builder.AddRegisterableDomain(kTestRegisterableDomain1);
+
+ BlockUntilOriginDataRemoved(browsing_data::EVERYTHING,
+ BrowsingDataRemover::REMOVE_COOKIES, builder);
+ EXPECT_EQ(1u, tester.clear_count());
+ EXPECT_EQ(CLEAR_CONTEXTS, tester.last_clear_mode());
+ EXPECT_TRUE(ProbablySameFilters(
+ builder.BuildGeneralFilter(), tester.last_filter()));
}
TEST_F(BrowsingDataRemoverTest, DomainReliability_ContextsWin) {
« no previous file with comments | « chrome/browser/browsing_data/browsing_data_remover.cc ('k') | components/domain_reliability/context_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698