Chromium Code Reviews| Index: components/content_settings/core/browser/website_settings_info.cc |
| diff --git a/components/content_settings/core/browser/website_settings_info.cc b/components/content_settings/core/browser/website_settings_info.cc |
| index fa19d9cf561f24f28edbc6581a843d7ce4e92556..5d7500837d1177708414a0cadaba3f07af89fa03 100644 |
| --- a/components/content_settings/core/browser/website_settings_info.cc |
| +++ b/components/content_settings/core/browser/website_settings_info.cc |
| @@ -4,11 +4,40 @@ |
| #include "components/content_settings/core/browser/website_settings_info.h" |
| +#include "base/logging.h" |
| +#include "base/strings/string_util.h" |
| +#include "base/values.h" |
| + |
| +namespace { |
| + |
| +const char* kPrefPrefix = "profile.content_settings.exceptions."; |
| +const char* kDefaultPrefPrefix = "profile.default_content_setting_values."; |
| + |
| +std::string GetPrefName(const std::string& name, const char* prefix) { |
| + std::string pref_name = name; |
| + base::ReplaceChars(pref_name, "-", "_", &pref_name); |
| + return std::string(prefix).append(pref_name); |
| +} |
| + |
| +} // namespace |
| + |
| namespace content_settings { |
| -WebsiteSettingsInfo::WebsiteSettingsInfo(ContentSettingsType type, |
| - const std::string& name) |
| - : type_(type), name_(name) {} |
| +WebsiteSettingsInfo::WebsiteSettingsInfo( |
| + ContentSettingsType type, |
| + const std::string& name, |
| + scoped_ptr<base::Value> initial_default_value) |
| + : type_(type), |
| + name_(name), |
| + pref_name_(GetPrefName(name, kPrefPrefix)), |
| + default_value_pref_name_(GetPrefName(name, kDefaultPrefPrefix)), |
| + initial_default_value_(initial_default_value.release()) { |
|
Bernhard Bauer
2015/08/03 07:33:52
Use .Pass()
raymes
2015/08/03 07:41:41
Done.
|
| + // For legacy reasons the default value is currently restricted to be an int. |
| + // TODO(raymes): We should migrate the underlying pref to be a dictionary |
| + // rather than an int. |
| + DCHECK(!initial_default_value_ || |
| + initial_default_value_->IsType(base::Value::TYPE_INTEGER)); |
| +} |
| WebsiteSettingsInfo::~WebsiteSettingsInfo() {} |