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

Side by Side Diff: components/content_settings/core/browser/content_settings_registry.cc

Issue 1895993003: Add migration code to change existing domain scoped content settings to be origin scoped (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
raymes 2016/04/20 01:53:21 I think we should also be able to change the insta
lshang 2016/06/15 06:26:41 Done.
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 <utility> 7 #include <utility>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/stl_util.h" 11 #include "base/stl_util.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 // associated with it. 115 // associated with it.
116 116
117 // WARNING: The string names of the permissions passed in below are used to 117 // WARNING: The string names of the permissions passed in below are used to
118 // generate preference names and should never be changed! 118 // generate preference names and should never be changed!
119 119
120 Register(CONTENT_SETTINGS_TYPE_COOKIES, "cookies", CONTENT_SETTING_ALLOW, 120 Register(CONTENT_SETTINGS_TYPE_COOKIES, "cookies", CONTENT_SETTING_ALLOW,
121 WebsiteSettingsInfo::SYNCABLE, 121 WebsiteSettingsInfo::SYNCABLE,
122 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), 122 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme),
123 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, 123 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK,
124 CONTENT_SETTING_SESSION_ONLY), 124 CONTENT_SETTING_SESSION_ONLY),
125 WebsiteSettingsInfo::REQUESTING_DOMAIN_ONLY_SCOPE, 125 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
126 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 126 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
127 127
128 Register(CONTENT_SETTINGS_TYPE_IMAGES, "images", CONTENT_SETTING_ALLOW, 128 Register(CONTENT_SETTINGS_TYPE_IMAGES, "images", CONTENT_SETTING_ALLOW,
129 WebsiteSettingsInfo::SYNCABLE, 129 WebsiteSettingsInfo::SYNCABLE,
130 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, 130 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme,
131 kExtensionScheme), 131 kExtensionScheme),
132 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), 132 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
133 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, 133 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
134 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 134 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
135 135
136 Register(CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript", 136 Register(CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript",
137 CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::SYNCABLE, 137 CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::SYNCABLE,
138 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, 138 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme,
139 kExtensionScheme), 139 kExtensionScheme),
140 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), 140 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
141 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, 141 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
142 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 142 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
143 143
144 Register(CONTENT_SETTINGS_TYPE_PLUGINS, "plugins", 144 Register(CONTENT_SETTINGS_TYPE_PLUGINS, "plugins",
145 CONTENT_SETTING_DETECT_IMPORTANT_CONTENT, 145 CONTENT_SETTING_DETECT_IMPORTANT_CONTENT,
146 WebsiteSettingsInfo::SYNCABLE, 146 WebsiteSettingsInfo::SYNCABLE,
147 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), 147 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme),
148 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, 148 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK,
149 CONTENT_SETTING_ASK, 149 CONTENT_SETTING_ASK,
150 CONTENT_SETTING_DETECT_IMPORTANT_CONTENT), 150 CONTENT_SETTING_DETECT_IMPORTANT_CONTENT),
151 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, 151 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
152 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 152 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
153 153
154 Register(CONTENT_SETTINGS_TYPE_POPUPS, "popups", CONTENT_SETTING_BLOCK, 154 Register(CONTENT_SETTINGS_TYPE_POPUPS, "popups", CONTENT_SETTING_BLOCK,
155 WebsiteSettingsInfo::SYNCABLE, 155 WebsiteSettingsInfo::SYNCABLE,
156 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, 156 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme,
157 kExtensionScheme), 157 kExtensionScheme),
158 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK), 158 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
159 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, 159 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
160 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 160 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
161 161
162 Register(CONTENT_SETTINGS_TYPE_GEOLOCATION, "geolocation", 162 Register(CONTENT_SETTINGS_TYPE_GEOLOCATION, "geolocation",
163 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, 163 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE,
164 WhitelistedSchemes(), 164 WhitelistedSchemes(),
165 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, 165 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK,
166 CONTENT_SETTING_ASK), 166 CONTENT_SETTING_ASK),
167 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, 167 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE,
168 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 168 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
169 169
(...skipping 12 matching lines...) Expand all
182 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), 182 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme),
183 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_ASK), 183 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_ASK),
184 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, 184 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE,
185 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 185 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
186 186
187 Register(CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock", CONTENT_SETTING_ASK, 187 Register(CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock", CONTENT_SETTING_ASK,
188 WebsiteSettingsInfo::SYNCABLE, 188 WebsiteSettingsInfo::SYNCABLE,
189 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), 189 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme),
190 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, 190 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK,
191 CONTENT_SETTING_ASK), 191 CONTENT_SETTING_ASK),
192 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, 192 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
193 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 193 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
194 194
195 Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic", 195 Register(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic",
196 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE, 196 CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE,
197 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), 197 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme),
198 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, 198 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK,
199 CONTENT_SETTING_ASK), 199 CONTENT_SETTING_ASK),
200 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, 200 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
201 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 201 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
202 202
(...skipping 12 matching lines...) Expand all
215 CONTENT_SETTING_ASK), 215 CONTENT_SETTING_ASK),
216 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE, 216 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
217 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 217 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
218 218
219 Register(CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, "automatic-downloads", 219 Register(CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, "automatic-downloads",
220 CONTENT_SETTING_ASK, WebsiteSettingsInfo::SYNCABLE, 220 CONTENT_SETTING_ASK, WebsiteSettingsInfo::SYNCABLE,
221 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme, 221 WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme,
222 kExtensionScheme), 222 kExtensionScheme),
223 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, 223 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK,
224 CONTENT_SETTING_ASK), 224 CONTENT_SETTING_ASK),
225 WebsiteSettingsInfo::TOP_LEVEL_DOMAIN_ONLY_SCOPE, 225 WebsiteSettingsInfo::REQUESTING_ORIGIN_ONLY_SCOPE,
raymes 2016/04/20 01:53:21 I think this should become TOP_LEVEL_ORIGIN_ONLY_S
lshang 2016/06/15 06:26:41 Done.
226 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 226 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
227 227
228 Register(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, "midi-sysex", CONTENT_SETTING_ASK, 228 Register(CONTENT_SETTINGS_TYPE_MIDI_SYSEX, "midi-sysex", CONTENT_SETTING_ASK,
229 WebsiteSettingsInfo::SYNCABLE, WhitelistedSchemes(), 229 WebsiteSettingsInfo::SYNCABLE, WhitelistedSchemes(),
230 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, 230 ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK,
231 CONTENT_SETTING_ASK), 231 CONTENT_SETTING_ASK),
232 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE, 232 WebsiteSettingsInfo::REQUESTING_ORIGIN_AND_TOP_LEVEL_ORIGIN_SCOPE,
233 ContentSettingsInfo::INHERIT_IN_INCOGNITO); 233 ContentSettingsInfo::INHERIT_IN_INCOGNITO);
234 234
235 Register(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, "push-messaging", 235 Register(CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, "push-messaging",
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 type, name, std::move(default_value), sync_status, 318 type, name, std::move(default_value), sync_status,
319 WebsiteSettingsInfo::NOT_LOSSY, scoping_type, 319 WebsiteSettingsInfo::NOT_LOSSY, scoping_type,
320 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO); 320 WebsiteSettingsInfo::INHERIT_IN_INCOGNITO);
321 DCHECK(!ContainsKey(content_settings_info_, type)); 321 DCHECK(!ContainsKey(content_settings_info_, type));
322 content_settings_info_[type] = make_scoped_ptr( 322 content_settings_info_[type] = make_scoped_ptr(
323 new ContentSettingsInfo(website_settings_info, whitelisted_schemes, 323 new ContentSettingsInfo(website_settings_info, whitelisted_schemes,
324 valid_settings, incognito_behavior)); 324 valid_settings, incognito_behavior));
325 } 325 }
326 326
327 } // namespace content_settings 327 } // namespace content_settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698