Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Unified Diff: components/content_settings/core/browser/content_settings_default_provider.cc

Issue 2853983002: Ensure settings returned from Content Settings providers are valid (Closed)
Patch Set: Ensure settings returned from Content Settings providers are valid Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/content_settings/core/browser/content_settings_default_provider.cc
diff --git a/components/content_settings/core/browser/content_settings_default_provider.cc b/components/content_settings/core/browser/content_settings_default_provider.cc
index 261fedb9d6b65b28e16ce301e1dbab667e735104..4a900564085d5601f77a38a788465bd223e07853 100644
--- a/components/content_settings/core/browser/content_settings_default_provider.cc
+++ b/components/content_settings/core/browser/content_settings_default_provider.cc
@@ -11,6 +11,8 @@
#include "base/bind.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
+#include "components/content_settings/core/browser/content_settings_info.h"
+#include "components/content_settings/core/browser/content_settings_registry.h"
#include "components/content_settings/core/browser/content_settings_rule.h"
#include "components/content_settings/core/browser/content_settings_utils.h"
#include "components/content_settings/core/browser/website_settings_info.h"
@@ -296,6 +298,10 @@ bool DefaultProvider::IsValueEmptyOrDefault(ContentSettingsType content_type,
void DefaultProvider::ChangeSetting(ContentSettingsType content_type,
base::Value* value) {
+ const ContentSettingsInfo* info =
+ ContentSettingsRegistry::GetInstance()->Get(content_type);
+ DCHECK(!info || !value ||
+ info->IsDefaultSettingValid(ValueToContentSetting(value)));
default_settings_[content_type] =
value ? base::WrapUnique(value->DeepCopy())
: ContentSettingToValue(GetDefaultValue(content_type));

Powered by Google App Engine
This is Rietveld 408576698