| Index: chrome/browser/content_settings/host_content_settings_map_unittest.cc
|
| diff --git a/chrome/browser/content_settings/host_content_settings_map_unittest.cc b/chrome/browser/content_settings/host_content_settings_map_unittest.cc
|
| index 1401b2ab0dd77b6105bb0349fdb9a25e0d53c5c9..131ef7fb7892a21a313e523fdf2606a40a907fde 100644
|
| --- a/chrome/browser/content_settings/host_content_settings_map_unittest.cc
|
| +++ b/chrome/browser/content_settings/host_content_settings_map_unittest.cc
|
| @@ -1752,57 +1752,128 @@ TEST_F(HostContentSettingsMapTest, ClearSettingsWithTimePredicate) {
|
| feature_list.InitAndEnableFeature(features::kTabsInCbd);
|
|
|
| TestingProfile profile;
|
| - HostContentSettingsMap* host_content_settings_map =
|
| - HostContentSettingsMapFactory::GetForProfile(&profile);
|
| + auto* map = HostContentSettingsMapFactory::GetForProfile(&profile);
|
| ContentSettingsForOneType host_settings;
|
|
|
| GURL url1("https://www.google.com/");
|
| GURL url2("https://maps.google.com/");
|
|
|
| // Add setting for url1.
|
| - host_content_settings_map->SetContentSettingDefaultScope(
|
| - url1, GURL(), CONTENT_SETTINGS_TYPE_POPUPS, std::string(),
|
| - CONTENT_SETTING_BLOCK);
|
| + map->SetContentSettingDefaultScope(url1, GURL(), CONTENT_SETTINGS_TYPE_POPUPS,
|
| + std::string(), CONTENT_SETTING_BLOCK);
|
|
|
| // Make sure that the timestamp for url1 is different from |t|.
|
| base::PlatformThread::Sleep(TestTimeouts::tiny_timeout());
|
| base::Time t = base::Time::Now();
|
|
|
| // Add setting for url2.
|
| - host_content_settings_map->SetContentSettingDefaultScope(
|
| - url2, GURL(), CONTENT_SETTINGS_TYPE_POPUPS, std::string(),
|
| - CONTENT_SETTING_BLOCK);
|
| + map->SetContentSettingDefaultScope(url2, GURL(), CONTENT_SETTINGS_TYPE_POPUPS,
|
| + std::string(), CONTENT_SETTING_BLOCK);
|
|
|
| // Verify we have two pattern and the default.
|
| - host_content_settings_map->GetSettingsForOneType(
|
| - CONTENT_SETTINGS_TYPE_POPUPS, std::string(), &host_settings);
|
| + map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_POPUPS, std::string(),
|
| + &host_settings);
|
| EXPECT_EQ(3u, host_settings.size());
|
|
|
| // Clear all settings since |t|.
|
| - host_content_settings_map->ClearSettingsForOneTypeWithPredicate(
|
| + map->ClearSettingsForOneTypeWithPredicate(
|
| CONTENT_SETTINGS_TYPE_POPUPS, t,
|
| HostContentSettingsMap::PatternSourcePredicate());
|
|
|
| // Verify we only have one pattern (url1) and the default.
|
| - host_content_settings_map->GetSettingsForOneType(
|
| - CONTENT_SETTINGS_TYPE_POPUPS, std::string(), &host_settings);
|
| + map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_POPUPS, std::string(),
|
| + &host_settings);
|
| EXPECT_EQ(2u, host_settings.size());
|
| EXPECT_EQ("https://www.google.com:443",
|
| host_settings[0].primary_pattern.ToString());
|
| EXPECT_EQ("*", host_settings[1].primary_pattern.ToString());
|
|
|
| // Clear all settings since the beginning of time.
|
| - host_content_settings_map->ClearSettingsForOneTypeWithPredicate(
|
| + map->ClearSettingsForOneTypeWithPredicate(
|
| CONTENT_SETTINGS_TYPE_POPUPS, base::Time(),
|
| HostContentSettingsMap::PatternSourcePredicate());
|
|
|
| // Verify we only have the default setting.
|
| - host_content_settings_map->GetSettingsForOneType(
|
| - CONTENT_SETTINGS_TYPE_POPUPS, std::string(), &host_settings);
|
| + map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_POPUPS, std::string(),
|
| + &host_settings);
|
| EXPECT_EQ(1u, host_settings.size());
|
| EXPECT_EQ("*", host_settings[0].primary_pattern.ToString());
|
| }
|
|
|
| +TEST_F(HostContentSettingsMapTest, GetSettingLastModified) {
|
| + base::test::ScopedFeatureList feature_list;
|
| + feature_list.InitAndEnableFeature(features::kTabsInCbd);
|
| +
|
| + TestingProfile profile;
|
| + auto* map = HostContentSettingsMapFactory::GetForProfile(&profile);
|
| + ContentSettingsForOneType host_settings;
|
| +
|
| + GURL url("https://www.google.com/");
|
| + ContentSettingsPattern pattern =
|
| + ContentSettingsPattern::FromURLNoWildcard(url);
|
| +
|
| + {
|
| + // Last modified date for non existant settings should be base::Time().
|
| + base::Time t = map->GetSettingLastModifiedDate(
|
| + pattern, ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTINGS_TYPE_POPUPS);
|
| + EXPECT_EQ(base::Time(), t);
|
| + }
|
| +
|
| + base::Time t1 = base::Time::Now();
|
| +
|
| + // Add setting for url.
|
| + map->SetContentSettingDefaultScope(url, GURL(), CONTENT_SETTINGS_TYPE_POPUPS,
|
| + std::string(), CONTENT_SETTING_BLOCK);
|
| +
|
| + // Make sure that the timestamp for url is different from |t|.
|
| + base::PlatformThread::Sleep(TestTimeouts::tiny_timeout());
|
| + base::Time t2 = base::Time::Now();
|
| +
|
| + {
|
| + // Last modified date for non existant settings should be base::Time().
|
| + base::Time t = map->GetSettingLastModifiedDate(
|
| + pattern, ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTINGS_TYPE_POPUPS);
|
| + EXPECT_GE(t, t1);
|
| + EXPECT_LT(t, t2);
|
| + }
|
| +
|
| + // Modify setting.
|
| + map->SetContentSettingDefaultScope(url, GURL(), CONTENT_SETTINGS_TYPE_POPUPS,
|
| + std::string(), CONTENT_SETTING_ALLOW);
|
| +
|
| + {
|
| + // Last modified date for non existant settings should be base::Time().
|
| + base::Time t = map->GetSettingLastModifiedDate(
|
| + pattern, ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTINGS_TYPE_POPUPS);
|
| + EXPECT_GE(t, t2);
|
| + }
|
| +}
|
| +
|
| +TEST_F(HostContentSettingsMapTest, LastModifiedIsNotRecordedWhenDisabled) {
|
| + base::test::ScopedFeatureList feature_list;
|
| + feature_list.InitAndDisableFeature(features::kTabsInCbd);
|
| +
|
| + TestingProfile profile;
|
| + auto* map = HostContentSettingsMapFactory::GetForProfile(&profile);
|
| + ContentSettingsForOneType host_settings;
|
| +
|
| + GURL url("https://www.google.com/");
|
| + ContentSettingsPattern pattern =
|
| + ContentSettingsPattern::FromURLNoWildcard(url);
|
| +
|
| + // Add setting for url.
|
| + map->SetContentSettingDefaultScope(url, GURL(), CONTENT_SETTINGS_TYPE_POPUPS,
|
| + std::string(), CONTENT_SETTING_BLOCK);
|
| +
|
| + base::Time t = map->GetSettingLastModifiedDate(
|
| + pattern, ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTINGS_TYPE_POPUPS);
|
| + EXPECT_EQ(base::Time(), t);
|
| +}
|
| +
|
| TEST_F(HostContentSettingsMapTest, CanSetNarrowestSetting) {
|
| TestingProfile profile;
|
| const auto* map = HostContentSettingsMapFactory::GetForProfile(&profile);
|
|
|