diff options
author | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-17 15:25:35 +0000 |
---|---|---|
committer | bauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-17 15:25:35 +0000 |
commit | 291da036e31b12b7b1bf5b7cd1058949ee8e5521 (patch) | |
tree | 630aea6debca62518c35a803dac4ea0b9b626e00 | |
parent | 2f48b8d97af25a2403f9b36b87ecc1841ab2d1f9 (diff) | |
download | chromium_src-291da036e31b12b7b1bf5b7cd1058949ee8e5521.zip chromium_src-291da036e31b12b7b1bf5b7cd1058949ee8e5521.tar.gz chromium_src-291da036e31b12b7b1bf5b7cd1058949ee8e5521.tar.bz2 |
Don't return content settings from DefaultProvider for non-empty resource identifiers.
BUG=100273
TEST=content setting exceptions work
Review URL: http://codereview.chromium.org/8274033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105809 0039d316-1c4b-4281-b951-d872f2087c98
3 files changed, 11 insertions, 7 deletions
diff --git a/chrome/browser/content_settings/content_settings_default_provider.cc b/chrome/browser/content_settings/content_settings_default_provider.cc index c6d5922..d7feea5 100644 --- a/chrome/browser/content_settings/content_settings_default_provider.cc +++ b/chrome/browser/content_settings/content_settings_default_provider.cc @@ -189,8 +189,12 @@ RuleIterator* DefaultProvider::GetRuleIterator( const ResourceIdentifier& resource_identifier, bool incognito) const { base::AutoLock lock(lock_); - return new DefaultRuleIterator( - default_content_settings_.settings[content_type]); + if (resource_identifier.empty()) { + return new DefaultRuleIterator( + default_content_settings_.settings[content_type]); + } else { + return new EmptyRuleIterator(); + } } void DefaultProvider::ClearAllContentSettingsRules( 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 610c1b7..5f3dbe5 100644 --- a/chrome/browser/content_settings/host_content_settings_map_unittest.cc +++ b/chrome/browser/content_settings/host_content_settings_map_unittest.cc @@ -803,7 +803,7 @@ TEST_F(HostContentSettingsMapTest, ResourceIdentifier) { std::string resource1("someplugin"); std::string resource2("otherplugin"); - // If resource content settings are enabled GetContentSettings should return + // If resource content settings are enabled, GetContentSettings should return // the default values for all plugins ContentSetting default_plugin_setting = host_content_settings_map->GetDefaultContentSetting( @@ -813,7 +813,9 @@ TEST_F(HostContentSettingsMapTest, ResourceIdentifier) { EXPECT_EQ(default_plugin_setting, settings.settings[CONTENT_SETTINGS_TYPE_PLUGINS]); - EXPECT_EQ(CONTENT_SETTING_ALLOW, + // If no resource-specific content settings are defined, the setting should be + // DEFAULT. + EXPECT_EQ(CONTENT_SETTING_DEFAULT, host_content_settings_map->GetContentSetting( host, host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1)); @@ -826,7 +828,7 @@ TEST_F(HostContentSettingsMapTest, ResourceIdentifier) { EXPECT_EQ(CONTENT_SETTING_BLOCK, host_content_settings_map->GetContentSetting( host, host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1)); - EXPECT_EQ(CONTENT_SETTING_ALLOW, + EXPECT_EQ(CONTENT_SETTING_DEFAULT, host_content_settings_map->GetContentSetting( host, host, CONTENT_SETTINGS_TYPE_PLUGINS, resource2)); } diff --git a/chrome/test/functional/PYAUTO_TESTS b/chrome/test/functional/PYAUTO_TESTS index 1294711..d6623be 100644 --- a/chrome/test/functional/PYAUTO_TESTS +++ b/chrome/test/functional/PYAUTO_TESTS @@ -200,8 +200,6 @@ '-omnibox.OmniboxTest.testContentHistory', # Keychain popups make autofill/password tests difficult: crbug.com/49378 '-passwords', - # Plugin block exception broken. crbug.com/100273 - '-plugins.PluginsTest.testBlockPluginException', # crbug.com/97140 '-plugins.PluginsTest.testDisableEnableAllPlugins', # crbug.com/79263 |