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

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

Issue 2816723002: Add "Site Settings" option to Clear Browsing Data on Android (Closed)
Patch Set: fix deps Created 3 years, 7 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/chrome_browsing_data_remover_delegate_unittest.cc
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
index b642b8190fd5b2cd0d4a7c85a33ca1372287e7e0..90d525352f962fa9ef1dba6f42d42c4eb36e6d6a 100644
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
@@ -1591,6 +1591,88 @@ TEST_F(ChromeBrowsingDataRemoverDelegateTest,
<< host_settings[2].primary_pattern.ToString();
}
+TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveContentSettings) {
+ auto* map = HostContentSettingsMapFactory::GetForProfile(GetProfile());
+ map->SetContentSettingDefaultScope(kOrigin1, kOrigin1,
+ CONTENT_SETTINGS_TYPE_GEOLOCATION,
+ std::string(), CONTENT_SETTING_ALLOW);
+ map->SetContentSettingDefaultScope(kOrigin2, kOrigin2,
+ CONTENT_SETTINGS_TYPE_GEOLOCATION,
+ std::string(), CONTENT_SETTING_ALLOW);
+ map->SetContentSettingDefaultScope(kOrigin2, kOrigin2,
+ CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
+ std::string(), CONTENT_SETTING_ALLOW);
+ map->SetContentSettingDefaultScope(kOrigin3, kOrigin3,
+ CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
+ std::string(), CONTENT_SETTING_ALLOW);
+
+ // Clear all except for origin1 and origin3.
+ std::unique_ptr<BrowsingDataFilterBuilder> filter(
+ BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST));
+ filter->AddRegisterableDomain(kTestRegisterableDomain1);
+ filter->AddRegisterableDomain(kTestRegisterableDomain3);
+ BlockUntilOriginDataRemoved(
+ base::Time(), base::Time::Max(),
+ ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CONTENT_SETTINGS,
+ std::move(filter));
+
+ EXPECT_EQ(ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CONTENT_SETTINGS,
+ GetRemovalMask());
+ EXPECT_EQ(content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB,
+ GetOriginTypeMask());
+
+ // Verify we still have the allow setting for origin1.
+ ContentSettingsForOneType host_settings;
+ map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(),
+ &host_settings);
+ ASSERT_EQ(2u, host_settings.size());
+ EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin1),
+ host_settings[0].primary_pattern)
+ << host_settings[0].primary_pattern.ToString();
+ EXPECT_EQ(CONTENT_SETTING_ALLOW, host_settings[0].setting);
+ // And the wildcard.
+ EXPECT_EQ(ContentSettingsPattern::Wildcard(),
+ host_settings[1].primary_pattern)
+ << host_settings[1].primary_pattern.ToString();
+ EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[1].setting);
+
+ // There should also only be one setting for origin3
+ map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(),
+ &host_settings);
+ ASSERT_EQ(2u, host_settings.size());
+ EXPECT_EQ(ContentSettingsPattern::FromURLNoWildcard(kOrigin3),
+ host_settings[0].primary_pattern)
+ << host_settings[0].primary_pattern.ToString();
+ EXPECT_EQ(CONTENT_SETTING_ALLOW, host_settings[0].setting);
+ // And the wildcard.
+ EXPECT_EQ(ContentSettingsPattern::Wildcard(),
+ host_settings[1].primary_pattern)
+ << host_settings[1].primary_pattern.ToString();
+ EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[1].setting);
+
+ BlockUntilOriginDataRemoved(
+ base::Time(), base::Time::Max(),
+ ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CONTENT_SETTINGS,
+ BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::BLACKLIST));
+
+ // Everything except the wildcard should be deleted now.
+ map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(),
+ &host_settings);
+ ASSERT_EQ(1u, host_settings.size());
+ EXPECT_EQ(ContentSettingsPattern::Wildcard(),
+ host_settings[0].primary_pattern)
+ << host_settings[0].primary_pattern.ToString();
+ EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[0].setting);
+
+ map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(),
+ &host_settings);
+ ASSERT_EQ(1u, host_settings.size());
+ EXPECT_EQ(ContentSettingsPattern::Wildcard(),
+ host_settings[0].primary_pattern)
+ << host_settings[0].primary_pattern.ToString();
+ EXPECT_EQ(CONTENT_SETTING_ASK, host_settings[0].setting);
+}
+
TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveDurablePermission) {
// Add our settings.
HostContentSettingsMap* host_content_settings_map =

Powered by Google App Engine
This is Rietveld 408576698