| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/content_settings/core/browser/content_settings_registry.h" | 5 #include "components/content_settings/core/browser/content_settings_registry.h" |
| 6 | 6 |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "components/content_settings/core/browser/content_settings_utils.h" | 10 #include "components/content_settings/core/browser/content_settings_utils.h" |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 // associated with it. | 111 // associated with it. |
| 112 | 112 |
| 113 // WARNING: The string names of the permissions passed in below are used to | 113 // WARNING: The string names of the permissions passed in below are used to |
| 114 // generate preference names and should never be changed! | 114 // generate preference names and should never be changed! |
| 115 | 115 |
| 116 Register(CONTENT_SETTINGS_TYPE_COOKIES, "cookies", CONTENT_SETTING_ALLOW, | 116 Register(CONTENT_SETTINGS_TYPE_COOKIES, "cookies", CONTENT_SETTING_ALLOW, |
| 117 WebsiteSettingsInfo::SYNCABLE, | 117 WebsiteSettingsInfo::SYNCABLE, |
| 118 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), | 118 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| 119 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 119 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 120 CONTENT_SETTING_SESSION_ONLY), | 120 CONTENT_SETTING_SESSION_ONLY), |
| 121 WebsiteSettingsInfo::REQUESTING_DOMAIN_ONLY_SCOPE); | 121 WebsiteSettingsInfo::REQUESTING_DOMAIN_ONLY_SCOPE, |
| 122 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 122 | 123 |
| 123 Register(CONTENT_SETTINGS_TYPE_IMAGES, "images", CONTENT_SETTING_ALLOW, | 124 Register(CONTENT_SETTINGS_TYPE_IMAGES, "images", CONTENT_SETTING_ALLOW, |
| 124 WebsiteSettingsInfo::SYNCABLE, | 125 WebsiteSettingsInfo::SYNCABLE, |
| 125 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, | 126 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, |
| 126 kExtensionScheme), | 127 kExtensionScheme), |
| 127 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), | 128 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), |
| 128 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 129 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 130 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 129 | 131 |
| 130 Register(CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript", | 132 Register(CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript", |
| 131 CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::SYNCABLE, | 133 CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::SYNCABLE, |
| 132 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, | 134 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, |
| 133 kExtensionScheme), | 135 kExtensionScheme), |
| 134 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), | 136 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), |
| 135 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 137 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 138 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 136 | 139 |
| 137 Register(CONTENT_SETTINGS_TYPE_PLUGINS, "plugins", | 140 Register(CONTENT_SETTINGS_TYPE_PLUGINS, "plugins", |
| 138 CONTENT_SETTING_DETECT_IMPORTANT_CONTENT, | 141 CONTENT_SETTING_DETECT_IMPORTANT_CONTENT, |
| 139 WebsiteSettingsInfo::SYNCABLE, | 142 WebsiteSettingsInfo::SYNCABLE, |
| 140 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), | 143 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| 141 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 144 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 142 CONTENT_SETTING_ASK, | 145 CONTENT_SETTING_ASK, |
| 143 CONTENT_SETTING_DETECT_IMPORTANT_CONTENT), | 146 CONTENT_SETTING_DETECT_IMPORTANT_CONTENT), |
| 144 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 147 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 148 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 145 | 149 |
| 146 Register(CONTENT_SETTINGS_TYPE_POPUPS, "popups", CONTENT_SETTING_BLOCK, | 150 Register(CONTENT_SETTINGS_TYPE_POPUPS, "popups", CONTENT_SETTING_BLOCK, |
| 147 WebsiteSettingsInfo::SYNCABLE, | 151 WebsiteSettingsInfo::SYNCABLE, |
| 148 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, | 152 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, |
| 149 kExtensionScheme), | 153 kExtensionScheme), |
| 150 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), | 154 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), |
| 151 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 155 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 156 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 152 | 157 |
| 153 Register(CONTENT_SETTINGS_TYPE_GEOLOCATION, "geolocation", | 158 Register(CONTENT_SETTINGS_TYPE_GEOLOCATION, "geolocation", |
| 154 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, | 159 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| 155 WhitelistedSchemes(), | 160 WhitelistedSchemes(), |
| 156 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 161 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 157 CONTENT_SETTING_ASK), | 162 CONTENT_SETTING_ASK), |
| 158 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE); | 163 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, |
| 164 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 159 | 165 |
| 160 Register(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "notifications", | 166 Register(CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "notifications", |
| 161 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, | 167 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| 162 WhitelistedSchemes(), | 168 WhitelistedSchemes(), |
| 163 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 169 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 164 CONTENT_SETTING_ASK), | 170 CONTENT_SETTING_ASK), |
| 165 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE); | 171 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| 172 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO_EXCEPT_ALLOW); |
| 166 | 173 |
| 167 Register(CONTENT_SETTINGS_TYPE_FULLSCREEN, "fullscreen", CONTENT_SETTING_ASK, | 174 Register(CONTENT_SETTINGS_TYPE_FULLSCREEN, "fullscreen", CONTENT_SETTING_ASK, |
| 168 WebsiteSettingsInfo::SYNCABLE, | 175 WebsiteSettingsInfo::SYNCABLE, |
| 169 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), | 176 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| 170 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_ASK), | 177 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_ASK), |
| 171 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE); | 178 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, |
| 179 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 172 | 180 |
| 173 Register(CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock", CONTENT_SETTING_ASK, | 181 Register(CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock", CONTENT_SETTING_ASK, |
| 174 WebsiteSettingsInfo::SYNCABLE, | 182 WebsiteSettingsInfo::SYNCABLE, |
| 175 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), | 183 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| 176 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 184 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 177 CONTENT_SETTING_ASK), | 185 CONTENT_SETTING_ASK), |
| 178 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 186 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 187 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 179 | 188 |
| 180 Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic", | 189 Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic", |
| 181 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, | 190 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| 182 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), | 191 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| 183 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 192 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 184 CONTENT_SETTING_ASK), | 193 CONTENT_SETTING_ASK), |
| 185 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE); | 194 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| 195 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 186 | 196 |
| 187 Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, "media-stream-camera", | 197 Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, "media-stream-camera", |
| 188 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, | 198 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| 189 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), | 199 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| 190 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 200 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 191 CONTENT_SETTING_ASK), | 201 CONTENT_SETTING_ASK), |
| 192 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE); | 202 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| 203 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 193 | 204 |
| 194 Register(CONTENT_SETTINGS_TYPE_PPAPI_BROKER, "ppapi-broker", | 205 Register(CONTENT_SETTINGS_TYPE_PPAPI_BROKER, "ppapi-broker", |
| 195 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, | 206 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| 196 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), | 207 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), |
| 197 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 208 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 198 CONTENT_SETTING_ASK), | 209 CONTENT_SETTING_ASK), |
| 199 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE); | 210 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| 211 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 200 | 212 |
| 201 Register(CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, "automatic-downloads", | 213 Register(CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, "automatic-downloads", |
| 202 CONTENT_SETTING_ASK, WebsiteSettingsInfo::SYNCABLE, | 214 CONTENT_SETTING_ASK, WebsiteSettingsInfo::SYNCABLE, |
| 203 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, | 215 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, |
| 204 kExtensionScheme), | 216 kExtensionScheme), |
| 205 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 217 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 206 CONTENT_SETTING_ASK), | 218 CONTENT_SETTING_ASK), |
| 207 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 219 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 220 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 208 | 221 |
| 209 Register(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, "midi-sysex", CONTENT_SETTING_ASK, | 222 Register(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, "midi-sysex", CONTENT_SETTING_ASK, |
| 210 WebsiteSettingsInfo::SYNCABLE, WhitelistedSchemes(), | 223 WebsiteSettingsInfo::SYNCABLE, WhitelistedSchemes(), |
| 211 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 224 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 212 CONTENT_SETTING_ASK), | 225 CONTENT_SETTING_ASK), |
| 213 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE); | 226 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, |
| 227 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 214 | 228 |
| 215 Register(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, "push-messaging", | 229 Register(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, "push-messaging", |
| 216 CONTENT_SETTING_ASK, WebsiteSettingsInfo::SYNCABLE, | 230 CONTENT_SETTING_ASK, WebsiteSettingsInfo::SYNCABLE, |
| 217 WhitelistedSchemes(), | 231 WhitelistedSchemes(), |
| 218 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 232 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 219 CONTENT_SETTING_ASK), | 233 CONTENT_SETTING_ASK), |
| 220 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE); | 234 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, |
| 235 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO_EXCEPT_ALLOW); |
| 221 | 236 |
| 222 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | 237 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
| 223 Register(CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, | 238 Register(CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, |
| 224 "protected-media-identifier", CONTENT_SETTING_ASK, | 239 "protected-media-identifier", CONTENT_SETTING_ASK, |
| 225 WebsiteSettingsInfo::UNSYNCABLE, WhitelistedSchemes(), | 240 WebsiteSettingsInfo::UNSYNCABLE, WhitelistedSchemes(), |
| 226 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, | 241 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, |
| 227 CONTENT_SETTING_ASK), | 242 CONTENT_SETTING_ASK), |
| 228 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE); | 243 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, |
| 244 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 229 #endif | 245 #endif |
| 230 | 246 |
| 231 Register(CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, "durable-storage", | 247 Register(CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, "durable-storage", |
| 232 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, | 248 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, |
| 233 WhitelistedSchemes(), | 249 WhitelistedSchemes(), |
| 234 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), | 250 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), |
| 235 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE); | 251 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| 252 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 236 | 253 |
| 237 Register(CONTENT_SETTINGS_TYPE_KEYGEN, "keygen", | 254 Register(CONTENT_SETTINGS_TYPE_KEYGEN, "keygen", |
| 238 CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::SYNCABLE, | 255 CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::SYNCABLE, |
| 239 WhitelistedSchemes(), | 256 WhitelistedSchemes(), |
| 240 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), | 257 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), |
| 241 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE); | 258 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, |
| 259 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 242 | 260 |
| 243 // Content settings that aren't used to store any data. TODO(raymes): use a | 261 // Content settings that aren't used to store any data. TODO(raymes): use a |
| 244 // different mechanism rather than content settings to represent these. | 262 // different mechanism rather than content settings to represent these. |
| 245 // Since nothing is stored in them, there is no real point in them being a | 263 // Since nothing is stored in them, there is no real point in them being a |
| 246 // content setting. | 264 // content setting. |
| 247 Register(CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, "protocol-handler", | 265 Register(CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, "protocol-handler", |
| 248 CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, | 266 CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, |
| 249 WhitelistedSchemes(), ValidSettings(), | 267 WhitelistedSchemes(), ValidSettings(), |
| 250 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 268 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 269 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 251 | 270 |
| 252 Register(CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, "mixed-script", | 271 Register(CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, "mixed-script", |
| 253 CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, | 272 CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, |
| 254 WhitelistedSchemes(), ValidSettings(), | 273 WhitelistedSchemes(), ValidSettings(), |
| 255 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 274 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 275 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 256 | 276 |
| 257 // Deprecated. | 277 // Deprecated. |
| 258 Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM, "media-stream", | 278 Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM, "media-stream", |
| 259 CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, | 279 CONTENT_SETTING_DEFAULT, WebsiteSettingsInfo::UNSYNCABLE, |
| 260 WhitelistedSchemes(), ValidSettings(), | 280 WhitelistedSchemes(), ValidSettings(), |
| 261 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE); | 281 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, |
| 282 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); |
| 262 } | 283 } |
| 263 | 284 |
| 264 void ContentSettingsRegistry::Register( | 285 void ContentSettingsRegistry::Register( |
| 265 ContentSettingsType type, | 286 ContentSettingsType type, |
| 266 const std::string& name, | 287 const std::string& name, |
| 267 ContentSetting initial_default_value, | 288 ContentSetting initial_default_value, |
| 268 WebsiteSettingsInfo::SyncStatus sync_status, | 289 WebsiteSettingsInfo::SyncStatus sync_status, |
| 269 const std::vector<std::string>& whitelisted_schemes, | 290 const std::vector<std::string>& whitelisted_schemes, |
| 270 const std::set<ContentSetting>& valid_settings, | 291 const std::set<ContentSetting>& valid_settings, |
| 271 WebsiteSettingsInfo::ScopingType scoping_type) { | 292 WebsiteSettingsInfo::ScopingType scoping_type, |
| 293 WebsiteSettingsInfo::IncognitoBehavior incognito_behavior) { |
| 272 // Ensure that nothing has been registered yet for the given type. | 294 // Ensure that nothing has been registered yet for the given type. |
| 273 DCHECK(!website_settings_registry_->Get(type)); | 295 DCHECK(!website_settings_registry_->Get(type)); |
| 274 scoped_ptr<base::Value> default_value( | 296 scoped_ptr<base::Value> default_value( |
| 275 new base::FundamentalValue(static_cast<int>(initial_default_value))); | 297 new base::FundamentalValue(static_cast<int>(initial_default_value))); |
| 276 const WebsiteSettingsInfo* website_settings_info = | 298 const WebsiteSettingsInfo* website_settings_info = |
| 277 website_settings_registry_->Register( | 299 website_settings_registry_->Register( |
| 278 type, name, default_value.Pass(), sync_status, | 300 type, name, default_value.Pass(), sync_status, |
| 279 WebsiteSettingsInfo::NOT_LOSSY, scoping_type); | 301 WebsiteSettingsInfo::NOT_LOSSY, scoping_type, incognito_behavior); |
| 280 DCHECK(!ContainsKey(content_settings_info_, type)); | 302 DCHECK(!ContainsKey(content_settings_info_, type)); |
| 281 content_settings_info_.set( | 303 content_settings_info_.set( |
| 282 type, make_scoped_ptr(new ContentSettingsInfo( | 304 type, make_scoped_ptr(new ContentSettingsInfo( |
| 283 website_settings_info, whitelisted_schemes, valid_settings))); | 305 website_settings_info, whitelisted_schemes, valid_settings))); |
| 284 } | 306 } |
| 285 | 307 |
| 286 } // namespace content_settings | 308 } // namespace content_settings |
| OLD | NEW |