diff options
author | markusheintz@chromium.org <markusheintz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-02 12:55:32 +0000 |
---|---|---|
committer | markusheintz@chromium.org <markusheintz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-02 12:55:32 +0000 |
commit | 82d3b399a5442ed93c7c03ba81acb6c92fd7fea7 (patch) | |
tree | d976f84b2ddd3b30fb6e4e1c429fe88bd166038a /chrome/browser/content_settings | |
parent | c651e1061d1a70cfb4aa7541ef4285f077a99ead (diff) | |
download | chromium_src-82d3b399a5442ed93c7c03ba81acb6c92fd7fea7.zip chromium_src-82d3b399a5442ed93c7c03ba81acb6c92fd7fea7.tar.gz chromium_src-82d3b399a5442ed93c7c03ba81acb6c92fd7fea7.tar.bz2 |
Don't set a default Value for content settigns type AutoSelectCertificate
BUG=106149
TEST=DefaultProviderTest*
Review URL: http://codereview.chromium.org/8776044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112680 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/content_settings')
-rw-r--r-- | chrome/browser/content_settings/content_settings_default_provider.cc | 7 | ||||
-rw-r--r-- | chrome/browser/content_settings/content_settings_default_provider_unittest.cc | 9 |
2 files changed, 14 insertions, 2 deletions
diff --git a/chrome/browser/content_settings/content_settings_default_provider.cc b/chrome/browser/content_settings/content_settings_default_provider.cc index f330b70..c9987a0 100644 --- a/chrome/browser/content_settings/content_settings_default_provider.cc +++ b/chrome/browser/content_settings/content_settings_default_provider.cc @@ -55,7 +55,8 @@ namespace { class DefaultRuleIterator : public RuleIterator { public: explicit DefaultRuleIterator(const base::Value* value) { - value_.reset(value->DeepCopy()); + if (value) + value_.reset(value->DeepCopy()); } bool HasNext() const { @@ -316,9 +317,11 @@ void DefaultProvider::ReadDefaultSettings(bool overwrite) { void DefaultProvider::ForceDefaultsToBeExplicit() { for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) { ContentSettingsType type = ContentSettingsType(i); - if (!default_settings_[type].get()) + if (!default_settings_[type].get() && + kDefaultSettings[i] != CONTENT_SETTING_DEFAULT) { default_settings_[type].reset( Value::CreateIntegerValue(kDefaultSettings[i])); + } } } diff --git a/chrome/browser/content_settings/content_settings_default_provider_unittest.cc b/chrome/browser/content_settings/content_settings_default_provider_unittest.cc index e14c8c5..2863add 100644 --- a/chrome/browser/content_settings/content_settings_default_provider_unittest.cc +++ b/chrome/browser/content_settings/content_settings_default_provider_unittest.cc @@ -78,6 +78,15 @@ TEST_F(DefaultProviderTest, DefaultValues) { CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string(), false)); + + scoped_ptr<base::Value> value( + GetContentSettingValue(&provider_, + GURL("http://example.com/"), + GURL("http://example.com/"), + CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, + std::string(), + false)); + EXPECT_FALSE(value.get()); } TEST_F(DefaultProviderTest, IgnoreNonDefaultSettings) { |