Chromium Code Reviews| Index: components/content_settings/core/browser/content_settings_registry.cc |
| diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc |
| index 9c66ce35e919c8408d78ab6480a839dcc8e1c523..e8a0c1a17ea5bde1107a5752a064038db83d3abf 100644 |
| --- a/components/content_settings/core/browser/content_settings_registry.cc |
| +++ b/components/content_settings/core/browser/content_settings_registry.cc |
| @@ -125,14 +125,6 @@ void ContentSettingsRegistry::Init() { |
| WebsiteSettingsInfo::REQUESTING_DOMAIN_ONLY_SCOPE, |
| ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - Register(CONTENT_SETTINGS_TYPE_IMAGES, "images", CONTENT_SETTING_ALLOW, |
| - WebsiteSettingsInfo::SYNCABLE, |
| - WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, |
| - kExtensionScheme), |
| - ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), |
| - WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| - ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - |
| Register(CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript", |
| CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::SYNCABLE, |
| WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, |
| @@ -141,16 +133,6 @@ void ContentSettingsRegistry::Init() { |
| WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - Register(CONTENT_SETTINGS_TYPE_PLUGINS, "plugins", |
| - CONTENT_SETTING_DETECT_IMPORTANT_CONTENT, |
| - WebsiteSettingsInfo::SYNCABLE, |
| - WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| - ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| - CONTENT_SETTING_ASK, |
| - CONTENT_SETTING_DETECT_IMPORTANT_CONTENT), |
| - WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| - ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - |
| Register(CONTENT_SETTINGS_TYPE_POPUPS, "popups", CONTENT_SETTING_BLOCK, |
| WebsiteSettingsInfo::SYNCABLE, |
| WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, |
| @@ -184,14 +166,6 @@ void ContentSettingsRegistry::Init() { |
| WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, |
| ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - Register(CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock", CONTENT_SETTING_ASK, |
| - WebsiteSettingsInfo::SYNCABLE, |
| - WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| - ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| - CONTENT_SETTING_ASK), |
| - WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| - ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - |
| Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic", |
| CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| @@ -208,13 +182,13 @@ void ContentSettingsRegistry::Init() { |
| WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - Register(CONTENT_SETTINGS_TYPE_PPAPI_BROKER, "ppapi-broker", |
| - CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| - WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| - ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| - CONTENT_SETTING_ASK), |
| - WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| - ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| + RegisterDesktop(CONTENT_SETTINGS_TYPE_PPAPI_BROKER, "ppapi-broker", |
|
msramek
2016/05/17 18:58:27
nit: Move this down as well?
|
| + CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| + WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| + ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| + CONTENT_SETTING_ASK), |
| + WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| + ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| Register(CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, "automatic-downloads", |
| CONTENT_SETTING_ASK, WebsiteSettingsInfo::SYNCABLE, |
| @@ -271,28 +245,55 @@ void ContentSettingsRegistry::Init() { |
| WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - // Content settings that aren't used to store any data. TODO(raymes): use a |
| - // different mechanism rather than content settings to represent these. |
| - // Since nothing is stored in them, there is no real point in them being a |
| - // content setting. |
| - Register(CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, "protocol-handler", |
| - CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, |
| - WhitelistedSchemes(), ValidSettings(), |
| - WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| - ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - |
| - Register(CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, "mixed-script", |
| - CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, |
| - WhitelistedSchemes(), ValidSettings(), |
| - WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| - ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| - |
| Register(CONTENT_SETTINGS_TYPE_BLUETOOTH_GUARD, "bluetooth-guard", |
| CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| WhitelistedSchemes(), |
| ValidSettings(CONTENT_SETTING_ASK, CONTENT_SETTING_BLOCK), |
| WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, |
| ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| + |
| + // Desktop-only content settings. |
| + RegisterDesktop(CONTENT_SETTINGS_TYPE_IMAGES, "images", CONTENT_SETTING_ALLOW, |
| + WebsiteSettingsInfo::SYNCABLE, |
| + WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, |
| + kExtensionScheme), |
| + ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), |
| + WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| + ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| + |
| + RegisterDesktop(CONTENT_SETTINGS_TYPE_PLUGINS, "plugins", |
| + CONTENT_SETTING_DETECT_IMPORTANT_CONTENT, |
| + WebsiteSettingsInfo::SYNCABLE, |
| + WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| + ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| + CONTENT_SETTING_ASK, |
| + CONTENT_SETTING_DETECT_IMPORTANT_CONTENT), |
| + WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| + ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| + |
| + RegisterDesktop(CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock", |
| + CONTENT_SETTING_ASK, WebsiteSettingsInfo::SYNCABLE, |
| + WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| + ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| + CONTENT_SETTING_ASK), |
| + WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| + ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| + |
| + // Content settings that aren't used to store any data. TODO(raymes): use a |
| + // different mechanism rather than content settings to represent these. |
| + // Since nothing is stored in them, there is no real point in them being a |
| + // content setting. |
| + RegisterDesktop(CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, "protocol-handler", |
| + CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, |
| + WhitelistedSchemes(), ValidSettings(), |
| + WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| + ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| + |
| + RegisterDesktop(CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, "mixed-script", |
| + CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, |
| + WhitelistedSchemes(), ValidSettings(), |
| + WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| + ContentSettingsInfo::INHERIT_IN_INCOGNITO); |
| } |
| void ContentSettingsRegistry::Register( |
| @@ -324,4 +325,19 @@ void ContentSettingsRegistry::Register( |
| valid_settings, incognito_behavior)); |
| } |
| +void ContentSettingsRegistry::RegisterDesktop( |
|
msramek
2016/05/17 18:58:26
Since we do basically everything else via enum, ma
|
| + ContentSettingsType type, |
| + const std::string& name, |
| + ContentSetting initial_default_value, |
| + WebsiteSettingsInfo::SyncStatus sync_status, |
| + const std::vector<std::string>& whitelisted_schemes, |
| + const std::set<ContentSetting>& valid_settings, |
| + WebsiteSettingsInfo::ScopingType scoping_type, |
| + ContentSettingsInfo::IncognitoBehavior incognito_behavior) { |
| +#if !defined(OS_ANDROID) |
|
msramek
2016/05/17 18:58:27
Hmm, but what about iOS? :)
msramek
2016/05/17 19:12:11
OK, after a quick search it appears that we have s
|
| + Register(type, name, initial_default_value, sync_status, whitelisted_schemes, |
| + valid_settings, scoping_type, incognito_behavior); |
| +#endif |
| +} |
| + |
| } // namespace content_settings |