| Index: chrome/browser/host_content_settings_map_unittest.cc
|
| diff --git a/chrome/browser/host_content_settings_map_unittest.cc b/chrome/browser/host_content_settings_map_unittest.cc
|
| index 87826a044557101f8590ef88b727b3737ac4cdf6..7690c86e550f225de38789da6ae8dbbe35f70080 100644
|
| --- a/chrome/browser/host_content_settings_map_unittest.cc
|
| +++ b/chrome/browser/host_content_settings_map_unittest.cc
|
| @@ -4,7 +4,11 @@
|
|
|
| #include "chrome/browser/host_content_settings_map.h"
|
|
|
| +#include "base/command_line.h"
|
| +#include "base/json/json_reader.h"
|
| +#include "base/json/json_writer.h"
|
| #include "chrome/browser/pref_service.h"
|
| +#include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/notification_registrar.h"
|
| #include "chrome/common/notification_service.h"
|
| #include "chrome/common/pref_names.h"
|
| @@ -83,7 +87,7 @@ TEST_F(HostContentSettingsMapTest, DefaultValues) {
|
| CONTENT_SETTINGS_TYPE_IMAGES));
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW, host_content_settings_map->GetContentSetting(
|
| GURL(chrome::kChromeUINewTabURL),
|
| - CONTENT_SETTINGS_TYPE_IMAGES));
|
| + CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| host_content_settings_map->SetDefaultContentSetting(
|
| CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_ASK);
|
| EXPECT_EQ(CONTENT_SETTING_ASK,
|
| @@ -104,35 +108,35 @@ TEST_F(HostContentSettingsMapTest, DefaultValues) {
|
| HostContentSettingsMap::Pattern pattern("[*.]example.com");
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_DEFAULT);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_DEFAULT);
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_PLUGINS));
|
| + host, CONTENT_SETTINGS_TYPE_PLUGINS, ""));
|
|
|
| // Check returning all settings for a host.
|
| ContentSettings desired_settings;
|
| desired_settings.settings[CONTENT_SETTINGS_TYPE_COOKIES] =
|
| CONTENT_SETTING_ALLOW;
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_DEFAULT);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_DEFAULT);
|
| desired_settings.settings[CONTENT_SETTINGS_TYPE_IMAGES] =
|
| CONTENT_SETTING_ALLOW;
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_JAVASCRIPT, "", CONTENT_SETTING_BLOCK);
|
| desired_settings.settings[CONTENT_SETTINGS_TYPE_JAVASCRIPT] =
|
| CONTENT_SETTING_BLOCK;
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_ALLOW);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", CONTENT_SETTING_ALLOW);
|
| desired_settings.settings[CONTENT_SETTINGS_TYPE_PLUGINS] =
|
| CONTENT_SETTING_ALLOW;
|
| desired_settings.settings[CONTENT_SETTINGS_TYPE_POPUPS] =
|
| @@ -148,41 +152,44 @@ TEST_F(HostContentSettingsMapTest, DefaultValues) {
|
| // Check returning all hosts for a setting.
|
| HostContentSettingsMap::Pattern pattern2("[*.]example.org");
|
| host_content_settings_map->SetContentSetting(pattern2,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| host_content_settings_map->SetContentSetting(pattern2,
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", CONTENT_SETTING_BLOCK);
|
| HostContentSettingsMap::SettingsForOneType host_settings;
|
| host_content_settings_map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_IMAGES,
|
| + "",
|
| &host_settings);
|
| EXPECT_EQ(1U, host_settings.size());
|
| host_content_settings_map->GetSettingsForOneType(
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, &host_settings);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", &host_settings);
|
| EXPECT_EQ(2U, host_settings.size());
|
| host_content_settings_map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_POPUPS,
|
| + "",
|
| &host_settings);
|
| EXPECT_EQ(0U, host_settings.size());
|
| host_content_settings_map->ResetToDefaults();
|
| host_content_settings_map->GetSettingsForOneType(
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, &host_settings);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", &host_settings);
|
| EXPECT_EQ(0U, host_settings.size());
|
|
|
| // Check clearing one type.
|
| HostContentSettingsMap::Pattern pattern3("[*.]example.net");
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| host_content_settings_map->SetContentSetting(pattern2,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| host_content_settings_map->SetContentSetting(pattern2,
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", CONTENT_SETTING_BLOCK);
|
| host_content_settings_map->SetContentSetting(pattern3,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| host_content_settings_map->ClearSettingsForOneType(
|
| CONTENT_SETTINGS_TYPE_IMAGES);
|
| host_content_settings_map->GetSettingsForOneType(CONTENT_SETTINGS_TYPE_IMAGES,
|
| + "",
|
| &host_settings);
|
| EXPECT_EQ(0U, host_settings.size());
|
| host_content_settings_map->GetSettingsForOneType(
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, &host_settings);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", &host_settings);
|
| EXPECT_EQ(1U, host_settings.size());
|
| }
|
|
|
| @@ -198,23 +205,23 @@ TEST_F(HostContentSettingsMapTest, Patterns) {
|
| HostContentSettingsMap::Pattern pattern2("example.org");
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host1, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host1, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| host_content_settings_map->SetContentSetting(pattern1,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host1, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host1, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host2, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host2, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host3, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host3, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| host_content_settings_map->SetContentSetting(pattern2,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host3, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host3, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| }
|
|
|
| TEST_F(HostContentSettingsMapTest, PatternSupport) {
|
| @@ -248,7 +255,7 @@ TEST_F(HostContentSettingsMapTest, Observer) {
|
|
|
| HostContentSettingsMap::Pattern pattern("[*.]example.com");
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_ALLOW);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_ALLOW);
|
| EXPECT_EQ(host_content_settings_map, observer.last_notifier);
|
| EXPECT_EQ(pattern, observer.last_pattern);
|
| EXPECT_FALSE(observer.last_update_all);
|
| @@ -293,7 +300,7 @@ TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) {
|
| CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
|
|
| // Make a copy of the pref's new value so we can reset it later.
|
| scoped_ptr<Value> new_value(prefs->FindPreference(
|
| @@ -303,13 +310,13 @@ TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) {
|
| prefs->Set(prefs::kDefaultContentSettings, *default_value);
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
|
|
| // Reseting the pref to its previous value should update the cache.
|
| prefs->Set(prefs::kDefaultContentSettings, *new_value);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
| }
|
|
|
| TEST_F(HostContentSettingsMapTest, ObserveExceptionPref) {
|
| @@ -327,10 +334,10 @@ TEST_F(HostContentSettingsMapTest, ObserveExceptionPref) {
|
| GURL host("http://example.com");
|
|
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_COOKIES, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
|
|
| // Make a copy of the pref's new value so we can reset it later.
|
| scoped_ptr<Value> new_value(prefs->FindPreference(
|
| @@ -340,13 +347,13 @@ TEST_F(HostContentSettingsMapTest, ObserveExceptionPref) {
|
| prefs->Set(prefs::kContentSettingsPatterns, *default_value);
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
|
|
| // Reseting the pref to its previous value should update the cache.
|
| prefs->Set(prefs::kContentSettingsPatterns, *new_value);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
| }
|
|
|
| TEST_F(HostContentSettingsMapTest, HostTrimEndingDotCheck) {
|
| @@ -359,73 +366,73 @@ TEST_F(HostContentSettingsMapTest, HostTrimEndingDotCheck) {
|
|
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_DEFAULT);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_DEFAULT);
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
|
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_DEFAULT);
|
| + CONTENT_SETTINGS_TYPE_COOKIES, "", CONTENT_SETTING_DEFAULT);
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_COOKIES, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_COOKIES));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_COOKIES, ""));
|
|
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_JAVASCRIPT));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_JAVASCRIPT, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_DEFAULT);
|
| + CONTENT_SETTINGS_TYPE_JAVASCRIPT, "", CONTENT_SETTING_DEFAULT);
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_JAVASCRIPT));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_JAVASCRIPT, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_JAVASCRIPT, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_JAVASCRIPT));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_JAVASCRIPT, ""));
|
|
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_PLUGINS));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_PLUGINS, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_DEFAULT);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", CONTENT_SETTING_DEFAULT);
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_PLUGINS));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_PLUGINS, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_PLUGINS));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_PLUGINS, ""));
|
|
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_POPUPS));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_POPUPS, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_DEFAULT);
|
| + CONTENT_SETTINGS_TYPE_POPUPS, "", CONTENT_SETTING_DEFAULT);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_POPUPS));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_POPUPS, ""));
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_ALLOW);
|
| + CONTENT_SETTINGS_TYPE_POPUPS, "", CONTENT_SETTING_ALLOW);
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host_ending_with_dot, CONTENT_SETTINGS_TYPE_POPUPS));
|
| + host_ending_with_dot, CONTENT_SETTINGS_TYPE_POPUPS, ""));
|
| }
|
|
|
| TEST_F(HostContentSettingsMapTest, NestedSettings) {
|
| @@ -439,11 +446,11 @@ TEST_F(HostContentSettingsMapTest, NestedSettings) {
|
| HostContentSettingsMap::Pattern pattern3("a.b.example.com");
|
|
|
| host_content_settings_map->SetContentSetting(pattern1,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| host_content_settings_map->SetContentSetting(pattern2,
|
| - CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_COOKIES, "", CONTENT_SETTING_BLOCK);
|
| host_content_settings_map->SetContentSetting(pattern3,
|
| - CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, "", CONTENT_SETTING_BLOCK);
|
| host_content_settings_map->SetDefaultContentSetting(
|
| CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK);
|
|
|
| @@ -493,32 +500,127 @@ TEST_F(HostContentSettingsMapTest, OffTheRecord) {
|
|
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| otr_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
|
|
| // Changing content settings on the main map should also affect the
|
| // off-the-record map.
|
| host_content_settings_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| otr_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
|
|
| // Changing content settings on the off-the-record map should NOT affect the
|
| // main map.
|
| otr_map->SetContentSetting(pattern,
|
| - CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_ALLOW);
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_ALLOW);
|
| EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| host_content_settings_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| otr_map->GetContentSetting(
|
| - host, CONTENT_SETTINGS_TYPE_IMAGES));
|
| + host, CONTENT_SETTINGS_TYPE_IMAGES, ""));
|
| +}
|
| +
|
| +TEST_F(HostContentSettingsMapTest, NonDefaultSettings) {
|
| + TestingProfile profile;
|
| + HostContentSettingsMap* host_content_settings_map =
|
| + profile.GetHostContentSettingsMap();
|
| +
|
| + GURL host("http://example.com/");
|
| + HostContentSettingsMap::Pattern pattern("[*.]example.com");
|
| +
|
| + ContentSettings desired_settings(CONTENT_SETTING_DEFAULT);
|
| + ContentSettings settings =
|
| + host_content_settings_map->GetNonDefaultContentSettings(host);
|
| + EXPECT_TRUE(SettingsEqual(desired_settings, settings));
|
| +
|
| + host_content_settings_map->SetContentSetting(pattern,
|
| + CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
|
| + desired_settings.settings[CONTENT_SETTINGS_TYPE_IMAGES] =
|
| + CONTENT_SETTING_BLOCK;
|
| + settings =
|
| + host_content_settings_map->GetNonDefaultContentSettings(host);
|
| + EXPECT_TRUE(SettingsEqual(desired_settings, settings));
|
| +}
|
| +
|
| +// TODO(bauerb): Enable once HostContentSettingsMap::RequiersResourceIdentifier
|
| +// is changed.
|
| +#if 0
|
| +TEST_F(HostContentSettingsMapTest, ResourceIdentifier) {
|
| + // This feature is currently behind a flag.
|
| + CommandLine cl(*CommandLine::ForCurrentProcess());
|
| + CommandLine::ForCurrentProcess()->AppendSwitch(switches::kEnableClickToPlay);
|
| +
|
| + TestingProfile profile;
|
| + HostContentSettingsMap* host_content_settings_map =
|
| + profile.GetHostContentSettingsMap();
|
| +
|
| + GURL host("http://example.com/");
|
| + HostContentSettingsMap::Pattern pattern("[*.]example.com");
|
| + std::string resource1("someplugin");
|
| + std::string resource2("otherplugin");
|
| +
|
| + EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| + host_content_settings_map->GetContentSetting(
|
| + host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1));
|
| + host_content_settings_map->SetContentSetting(pattern,
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, resource1, CONTENT_SETTING_BLOCK);
|
| + EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| + host_content_settings_map->GetContentSetting(
|
| + host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1));
|
| + EXPECT_EQ(CONTENT_SETTING_ALLOW,
|
| + host_content_settings_map->GetContentSetting(
|
| + host, CONTENT_SETTINGS_TYPE_PLUGINS, resource2));
|
| + *CommandLine::ForCurrentProcess() = cl;
|
| +}
|
| +
|
| +TEST_F(HostContentSettingsMapTest, ResourceIdentifierPrefs) {
|
| + // This feature is currently behind a flag.
|
| + CommandLine cl(*CommandLine::ForCurrentProcess());
|
| + CommandLine::ForCurrentProcess()->AppendSwitch(switches::kEnableClickToPlay);
|
| +
|
| + TestingProfile profile;
|
| + profile.GetPrefs()->SetUserPref(prefs::kContentSettingsPatterns,
|
| + base::JSONReader::Read(
|
| + "{\"[*.]example.com\":{\"per_plugin\":{\"someplugin\":2}}}", false));
|
| + HostContentSettingsMap* host_content_settings_map =
|
| + profile.GetHostContentSettingsMap();
|
| +
|
| + GURL host("http://example.com/");
|
| + HostContentSettingsMap::Pattern pattern("[*.]example.com");
|
| + std::string resource1("someplugin");
|
| + std::string resource2("otherplugin");
|
| +
|
| + EXPECT_EQ(CONTENT_SETTING_BLOCK,
|
| + host_content_settings_map->GetContentSetting(
|
| + host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1));
|
| +
|
| + host_content_settings_map->SetContentSetting(pattern,
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, resource1, CONTENT_SETTING_DEFAULT);
|
| +
|
| + const DictionaryValue* content_setting_prefs =
|
| + profile.GetPrefs()->GetDictionary(prefs::kContentSettingsPatterns);
|
| + std::string prefs_as_json;
|
| + base::JSONWriter::Write(content_setting_prefs, false, &prefs_as_json);
|
| + EXPECT_STREQ("{}", prefs_as_json.c_str());
|
| +
|
| + host_content_settings_map->SetContentSetting(pattern,
|
| + CONTENT_SETTINGS_TYPE_PLUGINS, resource2, CONTENT_SETTING_BLOCK);
|
| +
|
| + content_setting_prefs =
|
| + profile.GetPrefs()->GetDictionary(prefs::kContentSettingsPatterns);
|
| + base::JSONWriter::Write(content_setting_prefs, false, &prefs_as_json);
|
| + EXPECT_STREQ("{\"[*.]example.com\":{\"per_plugin\":{\"otherplugin\":2}}}",
|
| + prefs_as_json.c_str());
|
| + *CommandLine::ForCurrentProcess() = cl;
|
| }
|
| +#endif
|
|
|
| } // namespace
|
|
|