| Index: chrome/browser/content_settings/content_settings_default_provider.cc
|
| diff --git a/chrome/browser/content_settings/content_settings_default_provider.cc b/chrome/browser/content_settings/content_settings_default_provider.cc
|
| index f330b70bfb53bc54f605249a9978373e51878b14..c9987a05deb17a1d043bfd31f5f2682d582b930b 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]));
|
| + }
|
| }
|
| }
|
|
|
|
|