Chromium Code Reviews| 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 6adccfd8285055f29cd90a3ead5e3ebc166f6915..11f13ee4bbada7ea13a42b22563413a73bfb0dfb 100644 |
| --- a/components/content_settings/core/browser/content_settings_default_provider.cc |
| +++ b/components/content_settings/core/browser/content_settings_default_provider.cc |
| @@ -18,6 +18,8 @@ |
| #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/plugins_field_trial.h" |
| +#include "components/content_settings/core/browser/website_settings_info.h" |
| +#include "components/content_settings/core/browser/website_settings_registry.h" |
| #include "components/content_settings/core/common/content_settings.h" |
| #include "components/content_settings/core/common/content_settings_pattern.h" |
| #include "components/content_settings/core/common/pref_names.h" |
| @@ -35,58 +37,18 @@ const char kObsoleteDefaultContentSettings[] = |
| const char kObsoleteMigratedDefaultContentSettings[] = |
| "profile.migrated_default_content_settings"; |
| -struct DefaultContentSettingInfo { |
| - // The profile preference associated with this default setting. |
| - const char* pref_name; |
| - |
| - // The default value of this default setting. |
| - const ContentSetting default_value; |
| -}; |
| - |
| -// The corresponding preference and default value for each default content |
| -// setting. This array must be kept in sync with the enum |ContentSettingsType|. |
| -const DefaultContentSettingInfo kDefaultSettings[] = { |
| - {prefs::kDefaultCookiesSetting, CONTENT_SETTING_ALLOW}, |
| - {prefs::kDefaultImagesSetting, CONTENT_SETTING_ALLOW}, |
| - {prefs::kDefaultJavaScriptSetting, CONTENT_SETTING_ALLOW}, |
| - {prefs::kDefaultPluginsSetting, CONTENT_SETTING_DEFAULT}, |
| - {prefs::kDefaultPopupsSetting, CONTENT_SETTING_BLOCK}, |
| - {prefs::kDefaultGeolocationSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultNotificationsSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultAutoSelectCertificateSetting, CONTENT_SETTING_DEFAULT}, |
| - {prefs::kDefaultFullScreenSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultMouseLockSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultMixedScriptSetting, CONTENT_SETTING_DEFAULT}, |
| - {prefs::kDefaultMediaStreamSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultMediaStreamMicSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultMediaStreamCameraSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultProtocolHandlersSetting, CONTENT_SETTING_DEFAULT}, |
| - {prefs::kDefaultPpapiBrokerSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultAutomaticDownloadsSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultMidiSysexSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultPushMessagingSetting, CONTENT_SETTING_ASK}, |
| - {prefs::kDefaultSSLCertDecisionsSetting, CONTENT_SETTING_ALLOW}, |
| -#if defined(OS_WIN) |
| - {prefs::kDefaultMetroSwitchToDesktopSetting, CONTENT_SETTING_ASK}, |
| -#elif defined(OS_ANDROID) || defined(OS_CHROMEOS) |
| - {prefs::kDefaultProtectedMediaIdentifierSetting, CONTENT_SETTING_ASK}, |
| -#endif |
| - {prefs::kDefaultAppBannerSetting, CONTENT_SETTING_DEFAULT}, |
| - {prefs::kDefaultSiteEngagementSetting, CONTENT_SETTING_DEFAULT}, |
| - {prefs::kDefaultDurableStorageSetting, CONTENT_SETTING_ASK}, |
| -}; |
| -static_assert(arraysize(kDefaultSettings) == CONTENT_SETTINGS_NUM_TYPES, |
| - "kDefaultSettings should have CONTENT_SETTINGS_NUM_TYPES " |
| - "elements"); |
| - |
| ContentSetting GetDefaultValue(ContentSettingsType type) { |
| if (type == CONTENT_SETTINGS_TYPE_PLUGINS) |
| return PluginsFieldTrial::GetDefaultPluginsContentSetting(); |
| - return kDefaultSettings[type].default_value; |
| + return static_cast<ContentSetting>(WebsiteSettingsRegistry::GetInstance() |
| + ->Get(type) |
| + ->initial_default_value()); |
| } |
| -const char* GetPrefName(ContentSettingsType type) { |
| - return kDefaultSettings[type].pref_name; |
| +std::string GetPrefName(ContentSettingsType type) { |
|
Bernhard Bauer
2015/07/29 10:12:38
You could return this as const-ref.
raymes
2015/07/30 05:25:03
Done.
|
| + return WebsiteSettingsRegistry::GetInstance() |
| + ->Get(type) |
| + ->default_value_pref_name(); |
| } |
| class DefaultRuleIterator : public RuleIterator { |