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

Side by Side Diff: chrome/browser/content_settings/host_content_settings_map_unittest.cc

Issue 2039803002: Unregister Images, Plugins and Mouselock content settings on android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@only_register_platform_used_contentsettingtypes
Patch Set: Created 4 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <memory> 5 #include <memory>
6 #include <string> 6 #include <string>
7 7
8 #include "base/auto_reset.h" 8 #include "base/auto_reset.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 91
92 // Wrapper to query GetWebsiteSetting(), and only return the source. 92 // Wrapper to query GetWebsiteSetting(), and only return the source.
93 content_settings::SettingSource GetSettingSourceForURL( 93 content_settings::SettingSource GetSettingSourceForURL(
94 const std::string& url_str) { 94 const std::string& url_str) {
95 GURL url(url_str); 95 GURL url(url_str);
96 content_settings::SettingInfo setting_info; 96 content_settings::SettingInfo setting_info;
97 std::unique_ptr<base::Value> result = 97 std::unique_ptr<base::Value> result =
98 host_content_settings_map_->GetWebsiteSetting( 98 host_content_settings_map_->GetWebsiteSetting(
99 url, url, content_type_, std::string(), &setting_info); 99 url, url, content_type_, std::string(), &setting_info);
100 return setting_info.source; 100 return setting_info.source;
101 }; 101 }
102 102
103 private: 103 private:
104 syncable_prefs::TestingPrefServiceSyncable* prefs_; 104 syncable_prefs::TestingPrefServiceSyncable* prefs_;
105 HostContentSettingsMap* host_content_settings_map_; 105 HostContentSettingsMap* host_content_settings_map_;
106 ContentSettingsType content_type_; 106 ContentSettingsType content_type_;
107 const char* policy_default_setting_; 107 const char* policy_default_setting_;
108 108
109 DISALLOW_COPY_AND_ASSIGN(TesterForType); 109 DISALLOW_COPY_AND_ASSIGN(TesterForType);
110 }; 110 };
111 111
112 TEST_F(HostContentSettingsMapTest, DefaultValues) { 112 TEST_F(HostContentSettingsMapTest, DefaultValues) {
113 TestingProfile profile; 113 TestingProfile profile;
114 HostContentSettingsMap* host_content_settings_map = 114 HostContentSettingsMap* host_content_settings_map =
115 HostContentSettingsMapFactory::GetForProfile(&profile); 115 HostContentSettingsMapFactory::GetForProfile(&profile);
116 116
117 // Check setting defaults. 117 // Check setting defaults.
118 EXPECT_EQ(CONTENT_SETTING_ALLOW, 118 EXPECT_EQ(CONTENT_SETTING_ALLOW,
119 host_content_settings_map->GetDefaultContentSetting( 119 host_content_settings_map->GetDefaultContentSetting(
120 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL)); 120 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL));
121 host_content_settings_map->SetDefaultContentSetting( 121 host_content_settings_map->SetDefaultContentSetting(
122 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); 122 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK);
123 EXPECT_EQ(CONTENT_SETTING_BLOCK, 123 EXPECT_EQ(CONTENT_SETTING_BLOCK,
124 host_content_settings_map->GetDefaultContentSetting( 124 host_content_settings_map->GetDefaultContentSetting(
125 CONTENT_SETTINGS_TYPE_IMAGES, NULL)); 125 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL));
126 EXPECT_EQ(CONTENT_SETTING_ALLOW, host_content_settings_map->GetContentSetting( 126 EXPECT_EQ(
127 GURL(chrome::kChromeUINewTabURL), 127 CONTENT_SETTING_ALLOW,
128 GURL(chrome::kChromeUINewTabURL), 128 host_content_settings_map->GetContentSetting(
129 CONTENT_SETTINGS_TYPE_IMAGES, 129 GURL(chrome::kChromeUINewTabURL), GURL(chrome::kChromeUINewTabURL),
130 std::string())); 130 CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string()));
131 131
132 #if defined(ENABLE_PLUGINS) 132 #if defined(ENABLE_PLUGINS)
133 host_content_settings_map->SetDefaultContentSetting( 133 host_content_settings_map->SetDefaultContentSetting(
134 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_ALLOW); 134 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_ALLOW);
135 EXPECT_EQ(CONTENT_SETTING_ALLOW, 135 EXPECT_EQ(CONTENT_SETTING_ALLOW,
136 host_content_settings_map->GetDefaultContentSetting( 136 host_content_settings_map->GetDefaultContentSetting(
137 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); 137 CONTENT_SETTINGS_TYPE_PLUGINS, NULL));
138 host_content_settings_map->SetDefaultContentSetting( 138 host_content_settings_map->SetDefaultContentSetting(
139 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK); 139 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK);
140 EXPECT_EQ(CONTENT_SETTING_BLOCK, 140 EXPECT_EQ(CONTENT_SETTING_BLOCK,
(...skipping 18 matching lines...) Expand all
159 159
160 TEST_F(HostContentSettingsMapTest, IndividualSettings) { 160 TEST_F(HostContentSettingsMapTest, IndividualSettings) {
161 TestingProfile profile; 161 TestingProfile profile;
162 HostContentSettingsMap* host_content_settings_map = 162 HostContentSettingsMap* host_content_settings_map =
163 HostContentSettingsMapFactory::GetForProfile(&profile); 163 HostContentSettingsMapFactory::GetForProfile(&profile);
164 164
165 // Check returning individual settings. 165 // Check returning individual settings.
166 GURL host("http://example.com/"); 166 GURL host("http://example.com/");
167 EXPECT_EQ(CONTENT_SETTING_ALLOW, 167 EXPECT_EQ(CONTENT_SETTING_ALLOW,
168 host_content_settings_map->GetContentSetting( 168 host_content_settings_map->GetContentSetting(
169 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 169 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
170 host_content_settings_map->SetContentSettingDefaultScope( 170 host_content_settings_map->SetContentSettingDefaultScope(
171 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 171 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
172 CONTENT_SETTING_DEFAULT); 172 CONTENT_SETTING_DEFAULT);
173 EXPECT_EQ(CONTENT_SETTING_ALLOW, 173 EXPECT_EQ(CONTENT_SETTING_ALLOW,
174 host_content_settings_map->GetContentSetting( 174 host_content_settings_map->GetContentSetting(
175 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 175 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
176 host_content_settings_map->SetContentSettingDefaultScope( 176 host_content_settings_map->SetContentSettingDefaultScope(
177 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 177 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
178 CONTENT_SETTING_BLOCK); 178 CONTENT_SETTING_BLOCK);
179 EXPECT_EQ(CONTENT_SETTING_BLOCK, 179 EXPECT_EQ(CONTENT_SETTING_BLOCK,
180 host_content_settings_map->GetContentSetting( 180 host_content_settings_map->GetContentSetting(
181 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 181 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
182 #if defined(ENABLE_PLUGINS) 182 #if defined(ENABLE_PLUGINS)
183 EXPECT_EQ(CONTENT_SETTING_DETECT_IMPORTANT_CONTENT, 183 EXPECT_EQ(CONTENT_SETTING_DETECT_IMPORTANT_CONTENT,
184 host_content_settings_map->GetContentSetting( 184 host_content_settings_map->GetContentSetting(
185 host, host, CONTENT_SETTINGS_TYPE_PLUGINS, std::string())); 185 host, host, CONTENT_SETTINGS_TYPE_PLUGINS, std::string()));
186 #endif 186 #endif
187 187
188 #if !defined(OS_ANDROID)
188 // Check returning all settings for a host. 189 // Check returning all settings for a host.
189 host_content_settings_map->SetContentSettingDefaultScope( 190 host_content_settings_map->SetContentSettingDefaultScope(
190 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 191 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(),
191 CONTENT_SETTING_DEFAULT); 192 CONTENT_SETTING_DEFAULT);
192 EXPECT_EQ(CONTENT_SETTING_ALLOW, 193 EXPECT_EQ(CONTENT_SETTING_ALLOW,
193 host_content_settings_map->GetContentSetting( 194 host_content_settings_map->GetContentSetting(
194 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 195 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string()));
196 #endif
raymes 2016/06/07 01:40:44 Maybe we can just remove this? The only coverage i
lshang 2016/06/07 06:39:59 Done.
195 host_content_settings_map->SetContentSettingDefaultScope( 197 host_content_settings_map->SetContentSettingDefaultScope(
196 host, GURL(), CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string(), 198 host, GURL(), CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string(),
197 CONTENT_SETTING_BLOCK); 199 CONTENT_SETTING_BLOCK);
198 EXPECT_EQ(CONTENT_SETTING_BLOCK, 200 EXPECT_EQ(CONTENT_SETTING_BLOCK,
199 host_content_settings_map->GetContentSetting( 201 host_content_settings_map->GetContentSetting(
200 host, host, CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string())); 202 host, host, CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string()));
201 #if defined(ENABLE_PLUGINS) 203 #if defined(ENABLE_PLUGINS)
202 host_content_settings_map->SetContentSettingDefaultScope( 204 host_content_settings_map->SetContentSettingDefaultScope(
203 host, GURL(), CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), 205 host, GURL(), CONTENT_SETTINGS_TYPE_PLUGINS, std::string(),
204 CONTENT_SETTING_ALLOW); 206 CONTENT_SETTING_ALLOW);
205 EXPECT_EQ(CONTENT_SETTING_ALLOW, 207 EXPECT_EQ(CONTENT_SETTING_ALLOW,
206 host_content_settings_map->GetContentSetting( 208 host_content_settings_map->GetContentSetting(
207 host, host, CONTENT_SETTINGS_TYPE_PLUGINS, std::string())); 209 host, host, CONTENT_SETTINGS_TYPE_PLUGINS, std::string()));
208 #endif 210 #endif
209 EXPECT_EQ(CONTENT_SETTING_BLOCK, 211 EXPECT_EQ(CONTENT_SETTING_BLOCK,
210 host_content_settings_map->GetContentSetting( 212 host_content_settings_map->GetContentSetting(
211 host, host, CONTENT_SETTINGS_TYPE_POPUPS, std::string())); 213 host, host, CONTENT_SETTINGS_TYPE_POPUPS, std::string()));
212 EXPECT_EQ(CONTENT_SETTING_ASK, 214 EXPECT_EQ(CONTENT_SETTING_ASK,
213 host_content_settings_map->GetContentSetting( 215 host_content_settings_map->GetContentSetting(
214 host, host, CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string())); 216 host, host, CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string()));
215 EXPECT_EQ( 217 EXPECT_EQ(
216 CONTENT_SETTING_ASK, 218 CONTENT_SETTING_ASK,
217 host_content_settings_map->GetContentSetting( 219 host_content_settings_map->GetContentSetting(
218 host, host, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string())); 220 host, host, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string()));
219 EXPECT_EQ(CONTENT_SETTING_ASK, 221 EXPECT_EQ(CONTENT_SETTING_ASK,
220 host_content_settings_map->GetContentSetting( 222 host_content_settings_map->GetContentSetting(
221 host, host, CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string())); 223 host, host, CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string()));
224 #if !defined(OS_ANDROID)
222 EXPECT_EQ(CONTENT_SETTING_ASK, 225 EXPECT_EQ(CONTENT_SETTING_ASK,
223 host_content_settings_map->GetContentSetting( 226 host_content_settings_map->GetContentSetting(
224 host, host, CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string())); 227 host, host, CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string()));
228 #endif
raymes 2016/06/07 01:40:44 Same with this one.
lshang 2016/06/07 06:39:59 Done.
225 229
226 host_content_settings_map->SetContentSettingDefaultScope( 230 host_content_settings_map->SetContentSettingDefaultScope(
227 host, GURL(), CONTENT_SETTINGS_TYPE_KEYGEN, std::string(), 231 host, GURL(), CONTENT_SETTINGS_TYPE_KEYGEN, std::string(),
228 CONTENT_SETTING_ALLOW); 232 CONTENT_SETTING_ALLOW);
229 EXPECT_EQ(CONTENT_SETTING_ALLOW, 233 EXPECT_EQ(CONTENT_SETTING_ALLOW,
230 host_content_settings_map->GetContentSetting( 234 host_content_settings_map->GetContentSetting(
231 host, host, CONTENT_SETTINGS_TYPE_KEYGEN, std::string())); 235 host, host, CONTENT_SETTINGS_TYPE_KEYGEN, std::string()));
232 236
233 host_content_settings_map->SetContentSettingDefaultScope( 237 host_content_settings_map->SetContentSettingDefaultScope(
234 host, GURL(), CONTENT_SETTINGS_TYPE_AUTOPLAY, std::string(), 238 host, GURL(), CONTENT_SETTINGS_TYPE_AUTOPLAY, std::string(),
235 CONTENT_SETTING_BLOCK); 239 CONTENT_SETTING_BLOCK);
236 EXPECT_EQ(CONTENT_SETTING_BLOCK, 240 EXPECT_EQ(CONTENT_SETTING_BLOCK,
237 host_content_settings_map->GetContentSetting( 241 host_content_settings_map->GetContentSetting(
238 host, host, CONTENT_SETTINGS_TYPE_AUTOPLAY, std::string())); 242 host, host, CONTENT_SETTINGS_TYPE_AUTOPLAY, std::string()));
239 243
240 // Check returning all hosts for a setting. 244 // Check returning all hosts for a setting.
241 GURL host2("http://example.org/"); 245 GURL host2("http://example.org/");
242 host_content_settings_map->SetContentSettingDefaultScope( 246 host_content_settings_map->SetContentSettingDefaultScope(
243 host2, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 247 host2, GURL(), CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string(),
244 CONTENT_SETTING_BLOCK); 248 CONTENT_SETTING_BLOCK);
245 #if defined(ENABLE_PLUGINS) 249 #if defined(ENABLE_PLUGINS)
246 host_content_settings_map->SetContentSettingDefaultScope( 250 host_content_settings_map->SetContentSettingDefaultScope(
247 host2, GURL(), CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), 251 host2, GURL(), CONTENT_SETTINGS_TYPE_PLUGINS, std::string(),
248 CONTENT_SETTING_BLOCK); 252 CONTENT_SETTING_BLOCK);
249 #endif 253 #endif
250 ContentSettingsForOneType host_settings; 254 ContentSettingsForOneType host_settings;
251 host_content_settings_map->GetSettingsForOneType( 255 host_content_settings_map->GetSettingsForOneType(
252 CONTENT_SETTINGS_TYPE_IMAGES, std::string(), &host_settings); 256 CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string(), &host_settings);
253 // |host_settings| contains the default setting and an exception. 257 // |host_settings| contains the default setting and 2 exception.
254 EXPECT_EQ(2U, host_settings.size()); 258 EXPECT_EQ(3U, host_settings.size());
255 #if defined(ENABLE_PLUGINS) 259 #if defined(ENABLE_PLUGINS)
256 host_content_settings_map->GetSettingsForOneType( 260 host_content_settings_map->GetSettingsForOneType(
257 CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), &host_settings); 261 CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), &host_settings);
258 // |host_settings| contains the default setting and 2 exceptions. 262 // |host_settings| contains the default setting and 2 exceptions.
259 EXPECT_EQ(3U, host_settings.size()); 263 EXPECT_EQ(3U, host_settings.size());
260 #endif 264 #endif
261 host_content_settings_map->GetSettingsForOneType( 265 host_content_settings_map->GetSettingsForOneType(
262 CONTENT_SETTINGS_TYPE_POPUPS, std::string(), &host_settings); 266 CONTENT_SETTINGS_TYPE_POPUPS, std::string(), &host_settings);
263 // |host_settings| contains only the default setting. 267 // |host_settings| contains only the default setting.
264 EXPECT_EQ(1U, host_settings.size()); 268 EXPECT_EQ(1U, host_settings.size());
265 } 269 }
266 270
267 TEST_F(HostContentSettingsMapTest, Clear) { 271 TEST_F(HostContentSettingsMapTest, Clear) {
268 TestingProfile profile; 272 TestingProfile profile;
269 HostContentSettingsMap* host_content_settings_map = 273 HostContentSettingsMap* host_content_settings_map =
270 HostContentSettingsMapFactory::GetForProfile(&profile); 274 HostContentSettingsMapFactory::GetForProfile(&profile);
271 275
272 // Check clearing one type. 276 // Check clearing one type.
273 GURL host("http://example.org/"); 277 GURL host("http://example.org/");
274 GURL host2("http://example.net/"); 278 GURL host2("http://example.net/");
275 host_content_settings_map->SetContentSettingDefaultScope( 279 host_content_settings_map->SetContentSettingDefaultScope(
276 host2, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 280 host2, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
277 CONTENT_SETTING_BLOCK); 281 CONTENT_SETTING_BLOCK);
278 host_content_settings_map->SetContentSettingDefaultScope( 282 host_content_settings_map->SetContentSettingDefaultScope(
279 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 283 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
280 CONTENT_SETTING_BLOCK); 284 CONTENT_SETTING_BLOCK);
281 #if defined(ENABLE_PLUGINS) 285 #if defined(ENABLE_PLUGINS)
282 host_content_settings_map->SetContentSettingDefaultScope( 286 host_content_settings_map->SetContentSettingDefaultScope(
283 host, GURL(), CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), 287 host, GURL(), CONTENT_SETTINGS_TYPE_PLUGINS, std::string(),
284 CONTENT_SETTING_BLOCK); 288 CONTENT_SETTING_BLOCK);
285 #endif 289 #endif
286 host_content_settings_map->SetContentSettingDefaultScope( 290 host_content_settings_map->SetContentSettingDefaultScope(
287 host2, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 291 host2, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
288 CONTENT_SETTING_BLOCK); 292 CONTENT_SETTING_BLOCK);
289 host_content_settings_map->ClearSettingsForOneType( 293 host_content_settings_map->ClearSettingsForOneType(
290 CONTENT_SETTINGS_TYPE_IMAGES); 294 CONTENT_SETTINGS_TYPE_COOKIES);
291 ContentSettingsForOneType host_settings; 295 ContentSettingsForOneType host_settings;
292 host_content_settings_map->GetSettingsForOneType( 296 host_content_settings_map->GetSettingsForOneType(
293 CONTENT_SETTINGS_TYPE_IMAGES, std::string(), &host_settings); 297 CONTENT_SETTINGS_TYPE_COOKIES, std::string(), &host_settings);
294 // |host_settings| contains only the default setting. 298 // |host_settings| contains only the default setting.
295 EXPECT_EQ(1U, host_settings.size()); 299 EXPECT_EQ(1U, host_settings.size());
296 #if defined(ENABLE_PLUGINS) 300 #if defined(ENABLE_PLUGINS)
297 host_content_settings_map->GetSettingsForOneType( 301 host_content_settings_map->GetSettingsForOneType(
298 CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), &host_settings); 302 CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), &host_settings);
299 // |host_settings| contains the default setting and an exception. 303 // |host_settings| contains the default setting and an exception.
300 EXPECT_EQ(2U, host_settings.size()); 304 EXPECT_EQ(2U, host_settings.size());
301 #endif 305 #endif
302 } 306 }
303 307
304 TEST_F(HostContentSettingsMapTest, Patterns) { 308 TEST_F(HostContentSettingsMapTest, Patterns) {
305 TestingProfile profile; 309 TestingProfile profile;
306 HostContentSettingsMap* host_content_settings_map = 310 HostContentSettingsMap* host_content_settings_map =
307 HostContentSettingsMapFactory::GetForProfile(&profile); 311 HostContentSettingsMapFactory::GetForProfile(&profile);
308 312
309 GURL host1("http://example.com/"); 313 GURL host1("http://example.com/");
310 GURL host2("http://www.example.com/"); 314 GURL host2("http://www.example.com/");
311 GURL host3("http://example.org/"); 315 GURL host3("http://example.org/");
312 EXPECT_EQ(CONTENT_SETTING_ALLOW, 316 EXPECT_EQ(CONTENT_SETTING_ALLOW,
313 host_content_settings_map->GetContentSetting( 317 host_content_settings_map->GetContentSetting(
314 host1, host1, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 318 host1, host1, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
315 host_content_settings_map->SetContentSettingDefaultScope( 319 host_content_settings_map->SetContentSettingDefaultScope(
316 host1, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 320 host1, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
317 CONTENT_SETTING_BLOCK); 321 CONTENT_SETTING_BLOCK);
318 EXPECT_EQ(CONTENT_SETTING_BLOCK, 322 EXPECT_EQ(CONTENT_SETTING_BLOCK,
319 host_content_settings_map->GetContentSetting( 323 host_content_settings_map->GetContentSetting(
320 host1, host1, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 324 host1, host1, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
321 EXPECT_EQ(CONTENT_SETTING_BLOCK, 325 EXPECT_EQ(CONTENT_SETTING_BLOCK,
322 host_content_settings_map->GetContentSetting( 326 host_content_settings_map->GetContentSetting(
323 host2, host2, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 327 host2, host2, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
324 EXPECT_EQ(CONTENT_SETTING_ALLOW, 328 EXPECT_EQ(CONTENT_SETTING_ALLOW,
325 host_content_settings_map->GetContentSetting( 329 host_content_settings_map->GetContentSetting(
326 host3, host3, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 330 host3, host3, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
327 host_content_settings_map->SetContentSettingDefaultScope( 331 host_content_settings_map->SetContentSettingDefaultScope(
328 host3, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 332 host3, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
329 CONTENT_SETTING_BLOCK); 333 CONTENT_SETTING_BLOCK);
330 EXPECT_EQ(CONTENT_SETTING_BLOCK, 334 EXPECT_EQ(CONTENT_SETTING_BLOCK,
331 host_content_settings_map->GetContentSetting( 335 host_content_settings_map->GetContentSetting(
332 host3, host3, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 336 host3, host3, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
333 } 337 }
334 338
335 TEST_F(HostContentSettingsMapTest, Observer) { 339 TEST_F(HostContentSettingsMapTest, Observer) {
336 TestingProfile profile; 340 TestingProfile profile;
337 HostContentSettingsMap* host_content_settings_map = 341 HostContentSettingsMap* host_content_settings_map =
338 HostContentSettingsMapFactory::GetForProfile(&profile); 342 HostContentSettingsMapFactory::GetForProfile(&profile);
339 MockSettingsObserver observer(host_content_settings_map); 343 MockSettingsObserver observer(host_content_settings_map);
340 344
341 GURL host("http://example.com/"); 345 GURL host("http://example.com/");
342 ContentSettingsPattern primary_pattern = 346 ContentSettingsPattern primary_pattern =
343 ContentSettingsPattern::FromString("[*.]example.com"); 347 ContentSettingsPattern::FromString("[*.]example.com");
344 ContentSettingsPattern secondary_pattern = 348 ContentSettingsPattern secondary_pattern =
345 ContentSettingsPattern::Wildcard(); 349 ContentSettingsPattern::Wildcard();
346 EXPECT_CALL(observer, 350 EXPECT_CALL(observer, OnContentSettingsChanged(host_content_settings_map,
347 OnContentSettingsChanged(host_content_settings_map, 351 CONTENT_SETTINGS_TYPE_COOKIES,
348 CONTENT_SETTINGS_TYPE_IMAGES, 352 false, primary_pattern,
349 false, 353 secondary_pattern, false));
350 primary_pattern,
351 secondary_pattern,
352 false));
353 host_content_settings_map->SetContentSettingDefaultScope( 354 host_content_settings_map->SetContentSettingDefaultScope(
354 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 355 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
355 CONTENT_SETTING_ALLOW); 356 CONTENT_SETTING_ALLOW);
356 ::testing::Mock::VerifyAndClearExpectations(&observer); 357 ::testing::Mock::VerifyAndClearExpectations(&observer);
357 358
358 EXPECT_CALL(observer, 359 EXPECT_CALL(observer, OnContentSettingsChanged(host_content_settings_map,
359 OnContentSettingsChanged(host_content_settings_map, 360 CONTENT_SETTINGS_TYPE_COOKIES,
360 CONTENT_SETTINGS_TYPE_IMAGES, false, 361 false, _, _, true));
361 _, _, true));
362 host_content_settings_map->ClearSettingsForOneType( 362 host_content_settings_map->ClearSettingsForOneType(
363 CONTENT_SETTINGS_TYPE_IMAGES); 363 CONTENT_SETTINGS_TYPE_COOKIES);
364 ::testing::Mock::VerifyAndClearExpectations(&observer); 364 ::testing::Mock::VerifyAndClearExpectations(&observer);
365 365
366 EXPECT_CALL(observer, 366 EXPECT_CALL(observer, OnContentSettingsChanged(host_content_settings_map,
367 OnContentSettingsChanged(host_content_settings_map, 367 CONTENT_SETTINGS_TYPE_COOKIES,
368 CONTENT_SETTINGS_TYPE_IMAGES, false, 368 false, _, _, true));
369 _, _, true));
370 host_content_settings_map->SetDefaultContentSetting( 369 host_content_settings_map->SetDefaultContentSetting(
371 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); 370 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
372 } 371 }
373 372
374 TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) { 373 TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) {
375 TestingProfile profile; 374 TestingProfile profile;
376 HostContentSettingsMap* host_content_settings_map = 375 HostContentSettingsMap* host_content_settings_map =
377 HostContentSettingsMapFactory::GetForProfile(&profile); 376 HostContentSettingsMapFactory::GetForProfile(&profile);
378 377
379 PrefService* prefs = profile.GetPrefs(); 378 PrefService* prefs = profile.GetPrefs();
380 GURL host("http://example.com"); 379 GURL host("http://example.com");
381 380
382 host_content_settings_map->SetDefaultContentSetting( 381 host_content_settings_map->SetDefaultContentSetting(
383 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); 382 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
384 EXPECT_EQ(CONTENT_SETTING_BLOCK, 383 EXPECT_EQ(CONTENT_SETTING_BLOCK,
385 host_content_settings_map->GetContentSetting( 384 host_content_settings_map->GetContentSetting(
386 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 385 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
387 386
388 const content_settings::WebsiteSettingsInfo* info = 387 const content_settings::WebsiteSettingsInfo* info =
389 content_settings::WebsiteSettingsRegistry::GetInstance()->Get( 388 content_settings::WebsiteSettingsRegistry::GetInstance()->Get(
390 CONTENT_SETTINGS_TYPE_IMAGES); 389 CONTENT_SETTINGS_TYPE_COOKIES);
391 // Clearing the backing pref should also clear the internal cache. 390 // Clearing the backing pref should also clear the internal cache.
392 prefs->ClearPref(info->default_value_pref_name()); 391 prefs->ClearPref(info->default_value_pref_name());
393 EXPECT_EQ(CONTENT_SETTING_ALLOW, 392 EXPECT_EQ(CONTENT_SETTING_ALLOW,
394 host_content_settings_map->GetContentSetting( 393 host_content_settings_map->GetContentSetting(
395 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 394 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
396 395
397 // Reseting the pref to its previous value should update the cache. 396 // Reseting the pref to its previous value should update the cache.
398 prefs->SetInteger(info->default_value_pref_name(), CONTENT_SETTING_BLOCK); 397 prefs->SetInteger(info->default_value_pref_name(), CONTENT_SETTING_BLOCK);
399 EXPECT_EQ(CONTENT_SETTING_BLOCK, 398 EXPECT_EQ(CONTENT_SETTING_BLOCK,
400 host_content_settings_map->GetContentSetting( 399 host_content_settings_map->GetContentSetting(
401 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 400 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
402 } 401 }
403 402
404 TEST_F(HostContentSettingsMapTest, ObserveExceptionPref) { 403 TEST_F(HostContentSettingsMapTest, ObserveExceptionPref) {
405 TestingProfile profile; 404 TestingProfile profile;
406 HostContentSettingsMap* host_content_settings_map = 405 HostContentSettingsMap* host_content_settings_map =
407 HostContentSettingsMapFactory::GetForProfile(&profile); 406 HostContentSettingsMapFactory::GetForProfile(&profile);
408 407
409 PrefService* prefs = profile.GetPrefs(); 408 PrefService* prefs = profile.GetPrefs();
410 409
411 // Make a copy of the default pref value so we can reset it later. 410 // Make a copy of the default pref value so we can reset it later.
412 std::unique_ptr<base::Value> default_value( 411 std::unique_ptr<base::Value> default_value(
413 prefs->FindPreference(GetPrefName(CONTENT_SETTINGS_TYPE_IMAGES)) 412 prefs->FindPreference(GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES))
414 ->GetValue() 413 ->GetValue()
415 ->DeepCopy()); 414 ->DeepCopy());
416 415
417 GURL host("http://example.com"); 416 GURL host("http://example.com");
418 417
419 EXPECT_EQ(CONTENT_SETTING_ALLOW, 418 EXPECT_EQ(CONTENT_SETTING_ALLOW,
420 host_content_settings_map->GetContentSetting( 419 host_content_settings_map->GetContentSetting(
421 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 420 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
422 421
423 host_content_settings_map->SetContentSettingDefaultScope( 422 host_content_settings_map->SetContentSettingDefaultScope(
424 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 423 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
425 CONTENT_SETTING_BLOCK); 424 CONTENT_SETTING_BLOCK);
426 EXPECT_EQ(CONTENT_SETTING_BLOCK, 425 EXPECT_EQ(CONTENT_SETTING_BLOCK,
427 host_content_settings_map->GetContentSetting( 426 host_content_settings_map->GetContentSetting(
428 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 427 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
429 428
430 // Make a copy of the pref's new value so we can reset it later. 429 // Make a copy of the pref's new value so we can reset it later.
431 std::unique_ptr<base::Value> new_value( 430 std::unique_ptr<base::Value> new_value(
432 prefs->FindPreference(GetPrefName(CONTENT_SETTINGS_TYPE_IMAGES)) 431 prefs->FindPreference(GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES))
433 ->GetValue() 432 ->GetValue()
434 ->DeepCopy()); 433 ->DeepCopy());
435 434
436 // Clearing the backing pref should also clear the internal cache. 435 // Clearing the backing pref should also clear the internal cache.
437 prefs->Set(GetPrefName(CONTENT_SETTINGS_TYPE_IMAGES), *default_value); 436 prefs->Set(GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES), *default_value);
438 EXPECT_EQ(CONTENT_SETTING_ALLOW, 437 EXPECT_EQ(CONTENT_SETTING_ALLOW,
439 host_content_settings_map->GetContentSetting( 438 host_content_settings_map->GetContentSetting(
440 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 439 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
441 440
442 // Reseting the pref to its previous value should update the cache. 441 // Reseting the pref to its previous value should update the cache.
443 prefs->Set(GetPrefName(CONTENT_SETTINGS_TYPE_IMAGES), *new_value); 442 prefs->Set(GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES), *new_value);
444 EXPECT_EQ(CONTENT_SETTING_BLOCK, 443 EXPECT_EQ(CONTENT_SETTING_BLOCK,
445 host_content_settings_map->GetContentSetting( 444 host_content_settings_map->GetContentSetting(
446 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 445 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
447 } 446 }
448 447
449 TEST_F(HostContentSettingsMapTest, HostTrimEndingDotCheck) { 448 TEST_F(HostContentSettingsMapTest, HostTrimEndingDotCheck) {
450 TestingProfile profile; 449 TestingProfile profile;
451 HostContentSettingsMap* host_content_settings_map = 450 HostContentSettingsMap* host_content_settings_map =
452 HostContentSettingsMapFactory::GetForProfile(&profile); 451 HostContentSettingsMapFactory::GetForProfile(&profile);
453 content_settings::CookieSettings* cookie_settings = 452 content_settings::CookieSettings* cookie_settings =
454 CookieSettingsFactory::GetForProfile(&profile).get(); 453 CookieSettingsFactory::GetForProfile(&profile).get();
455 454
456 GURL host_ending_with_dot("http://example.com./"); 455 GURL host_ending_with_dot("http://example.com./");
457 456
457 #if !defined(OS_ANDROID)
458 EXPECT_EQ(CONTENT_SETTING_ALLOW, 458 EXPECT_EQ(CONTENT_SETTING_ALLOW,
459 host_content_settings_map->GetContentSetting( 459 host_content_settings_map->GetContentSetting(
460 host_ending_with_dot, 460 host_ending_with_dot,
461 host_ending_with_dot, 461 host_ending_with_dot,
462 CONTENT_SETTINGS_TYPE_IMAGES, 462 CONTENT_SETTINGS_TYPE_IMAGES,
463 std::string())); 463 std::string()));
464 host_content_settings_map->SetContentSettingDefaultScope( 464 host_content_settings_map->SetContentSettingDefaultScope(
465 host_ending_with_dot, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 465 host_ending_with_dot, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(),
466 CONTENT_SETTING_DEFAULT); 466 CONTENT_SETTING_DEFAULT);
467 EXPECT_EQ( 467 EXPECT_EQ(
468 CONTENT_SETTING_ALLOW, 468 CONTENT_SETTING_ALLOW,
469 host_content_settings_map->GetContentSetting(host_ending_with_dot, 469 host_content_settings_map->GetContentSetting(host_ending_with_dot,
470 host_ending_with_dot, 470 host_ending_with_dot,
471 CONTENT_SETTINGS_TYPE_IMAGES, 471 CONTENT_SETTINGS_TYPE_IMAGES,
472 std::string())); 472 std::string()));
473 host_content_settings_map->SetContentSettingDefaultScope( 473 host_content_settings_map->SetContentSettingDefaultScope(
474 host_ending_with_dot, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 474 host_ending_with_dot, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(),
475 CONTENT_SETTING_BLOCK); 475 CONTENT_SETTING_BLOCK);
476 EXPECT_EQ( 476 EXPECT_EQ(
477 CONTENT_SETTING_BLOCK, 477 CONTENT_SETTING_BLOCK,
478 host_content_settings_map->GetContentSetting(host_ending_with_dot, 478 host_content_settings_map->GetContentSetting(host_ending_with_dot,
479 host_ending_with_dot, 479 host_ending_with_dot,
480 CONTENT_SETTINGS_TYPE_IMAGES, 480 CONTENT_SETTINGS_TYPE_IMAGES,
481 std::string())); 481 std::string()));
482 #endif
raymes 2016/06/07 01:40:44 nit: likewise we can probably remove this chunk -
lshang 2016/06/07 06:39:59 Done.
482 483
483 EXPECT_TRUE(cookie_settings->IsSettingCookieAllowed( 484 EXPECT_TRUE(cookie_settings->IsSettingCookieAllowed(
484 host_ending_with_dot, host_ending_with_dot)); 485 host_ending_with_dot, host_ending_with_dot));
485 host_content_settings_map->SetContentSettingDefaultScope( 486 host_content_settings_map->SetContentSettingDefaultScope(
486 host_ending_with_dot, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 487 host_ending_with_dot, GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
487 std::string(), CONTENT_SETTING_DEFAULT); 488 std::string(), CONTENT_SETTING_DEFAULT);
488 EXPECT_TRUE(cookie_settings->IsSettingCookieAllowed( 489 EXPECT_TRUE(cookie_settings->IsSettingCookieAllowed(
489 host_ending_with_dot, host_ending_with_dot)); 490 host_ending_with_dot, host_ending_with_dot));
490 host_content_settings_map->SetContentSettingDefaultScope( 491 host_content_settings_map->SetContentSettingDefaultScope(
491 host_ending_with_dot, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, 492 host_ending_with_dot, GURL(), CONTENT_SETTINGS_TYPE_COOKIES,
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 TEST_F(HostContentSettingsMapTest, NestedSettings) { 613 TEST_F(HostContentSettingsMapTest, NestedSettings) {
613 TestingProfile profile; 614 TestingProfile profile;
614 HostContentSettingsMap* host_content_settings_map = 615 HostContentSettingsMap* host_content_settings_map =
615 HostContentSettingsMapFactory::GetForProfile(&profile); 616 HostContentSettingsMapFactory::GetForProfile(&profile);
616 617
617 GURL host("http://a.b.example.com/"); 618 GURL host("http://a.b.example.com/");
618 GURL host1("http://example.com/"); 619 GURL host1("http://example.com/");
619 GURL host2("http://b.example.com/"); 620 GURL host2("http://b.example.com/");
620 621
621 host_content_settings_map->SetContentSettingDefaultScope( 622 host_content_settings_map->SetContentSettingDefaultScope(
622 host1, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 623 host1, GURL(), CONTENT_SETTINGS_TYPE_POPUPS, std::string(),
623 CONTENT_SETTING_BLOCK); 624 CONTENT_SETTING_BLOCK);
624 625
625 host_content_settings_map->SetContentSettingDefaultScope( 626 host_content_settings_map->SetContentSettingDefaultScope(
626 host2, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(), 627 host2, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
627 CONTENT_SETTING_BLOCK); 628 CONTENT_SETTING_BLOCK);
628 629
629 host_content_settings_map->SetContentSettingDefaultScope( 630 host_content_settings_map->SetContentSettingDefaultScope(
630 host, GURL(), CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), 631 host, GURL(), CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, std::string(),
631 CONTENT_SETTING_BLOCK); 632 CONTENT_SETTING_BLOCK);
632 host_content_settings_map->SetDefaultContentSetting( 633 host_content_settings_map->SetDefaultContentSetting(
633 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK); 634 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK);
634 635
635 EXPECT_EQ(CONTENT_SETTING_BLOCK, 636 EXPECT_EQ(CONTENT_SETTING_BLOCK,
636 host_content_settings_map->GetContentSetting( 637 host_content_settings_map->GetContentSetting(
637 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string())); 638 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
638 EXPECT_EQ(CONTENT_SETTING_BLOCK, 639 EXPECT_EQ(CONTENT_SETTING_BLOCK,
639 host_content_settings_map->GetContentSetting( 640 host_content_settings_map->GetContentSetting(
640 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 641 host, host, CONTENT_SETTINGS_TYPE_POPUPS, std::string()));
641 EXPECT_EQ(CONTENT_SETTING_BLOCK, 642 EXPECT_EQ(CONTENT_SETTING_BLOCK,
642 host_content_settings_map->GetContentSetting( 643 host_content_settings_map->GetContentSetting(
643 host, host, CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string())); 644 host, host, CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string()));
644 EXPECT_EQ(CONTENT_SETTING_BLOCK, 645 EXPECT_EQ(CONTENT_SETTING_BLOCK,
645 host_content_settings_map->GetContentSetting( 646 host_content_settings_map->GetContentSetting(
646 host, host, CONTENT_SETTINGS_TYPE_PLUGINS, std::string())); 647 host, host, CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS,
647 EXPECT_EQ(CONTENT_SETTING_BLOCK, 648 std::string()));
648 host_content_settings_map->GetContentSetting(
649 host, host, CONTENT_SETTINGS_TYPE_POPUPS, std::string()));
650 EXPECT_EQ(CONTENT_SETTING_ASK, 649 EXPECT_EQ(CONTENT_SETTING_ASK,
651 host_content_settings_map->GetContentSetting( 650 host_content_settings_map->GetContentSetting(
652 host, host, CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string())); 651 host, host, CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string()));
653 EXPECT_EQ( 652 EXPECT_EQ(
654 CONTENT_SETTING_ASK, 653 CONTENT_SETTING_ASK,
655 host_content_settings_map->GetContentSetting( 654 host_content_settings_map->GetContentSetting(
656 host, host, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string())); 655 host, host, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string()));
657 EXPECT_EQ(CONTENT_SETTING_ASK, 656 EXPECT_EQ(CONTENT_SETTING_ASK,
658 host_content_settings_map->GetContentSetting( 657 host_content_settings_map->GetContentSetting(
659 host, host, CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string())); 658 host, host, CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string()));
659 #if !defined(OS_ANDROID)
660 EXPECT_EQ(CONTENT_SETTING_ASK, 660 EXPECT_EQ(CONTENT_SETTING_ASK,
661 host_content_settings_map->GetContentSetting( 661 host_content_settings_map->GetContentSetting(
662 host, host, CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string())); 662 host, host, CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string()));
663 #endif
663 EXPECT_EQ(CONTENT_SETTING_BLOCK, 664 EXPECT_EQ(CONTENT_SETTING_BLOCK,
664 host_content_settings_map->GetContentSetting( 665 host_content_settings_map->GetContentSetting(
665 host, host, CONTENT_SETTINGS_TYPE_KEYGEN, std::string())); 666 host, host, CONTENT_SETTINGS_TYPE_KEYGEN, std::string()));
666 EXPECT_EQ(CONTENT_SETTING_ALLOW, 667 EXPECT_EQ(CONTENT_SETTING_ALLOW,
667 host_content_settings_map->GetContentSetting( 668 host_content_settings_map->GetContentSetting(
668 host, host, CONTENT_SETTINGS_TYPE_AUTOPLAY, std::string())); 669 host, host, CONTENT_SETTINGS_TYPE_AUTOPLAY, std::string()));
669 } 670 }
670 671
671 TEST_F(HostContentSettingsMapTest, OffTheRecord) { 672 TEST_F(HostContentSettingsMapTest, OffTheRecord) {
672 TestingProfile profile; 673 TestingProfile profile;
673 Profile* otr_profile = profile.GetOffTheRecordProfile(); 674 Profile* otr_profile = profile.GetOffTheRecordProfile();
674 HostContentSettingsMap* host_content_settings_map = 675 HostContentSettingsMap* host_content_settings_map =
675 HostContentSettingsMapFactory::GetForProfile(&profile); 676 HostContentSettingsMapFactory::GetForProfile(&profile);
676 HostContentSettingsMap* otr_map = 677 HostContentSettingsMap* otr_map =
677 HostContentSettingsMapFactory::GetForProfile(otr_profile); 678 HostContentSettingsMapFactory::GetForProfile(otr_profile);
678 679
679 GURL host("http://example.com/"); 680 GURL host("http://example.com/");
680 681
681 EXPECT_EQ(CONTENT_SETTING_ALLOW, 682 EXPECT_EQ(CONTENT_SETTING_ALLOW,
682 host_content_settings_map->GetContentSetting( 683 host_content_settings_map->GetContentSetting(
683 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 684 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
684 EXPECT_EQ(CONTENT_SETTING_ALLOW, 685 EXPECT_EQ(CONTENT_SETTING_ALLOW,
685 otr_map->GetContentSetting( 686 otr_map->GetContentSetting(
686 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 687 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
687 688
688 // Changing content settings on the main map should also affect the 689 // Changing content settings on the main map should also affect the
689 // incognito map. 690 // incognito map.
690 host_content_settings_map->SetContentSettingDefaultScope( 691 host_content_settings_map->SetContentSettingDefaultScope(
691 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 692 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
692 CONTENT_SETTING_BLOCK); 693 CONTENT_SETTING_BLOCK);
693 EXPECT_EQ(CONTENT_SETTING_BLOCK, 694 EXPECT_EQ(CONTENT_SETTING_BLOCK,
694 host_content_settings_map->GetContentSetting( 695 host_content_settings_map->GetContentSetting(
695 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 696 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
696 EXPECT_EQ(CONTENT_SETTING_BLOCK, 697 EXPECT_EQ(CONTENT_SETTING_BLOCK,
697 otr_map->GetContentSetting( 698 otr_map->GetContentSetting(
698 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 699 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
699 700
700 // Changing content settings on the incognito map should NOT affect the 701 // Changing content settings on the incognito map should NOT affect the
701 // main map. 702 // main map.
702 otr_map->SetContentSettingDefaultScope(host, GURL(), 703 otr_map->SetContentSettingDefaultScope(host, GURL(),
703 CONTENT_SETTINGS_TYPE_IMAGES, 704 CONTENT_SETTINGS_TYPE_COOKIES,
704 std::string(), CONTENT_SETTING_ALLOW); 705 std::string(), CONTENT_SETTING_ALLOW);
705 EXPECT_EQ(CONTENT_SETTING_BLOCK, 706 EXPECT_EQ(CONTENT_SETTING_BLOCK,
706 host_content_settings_map->GetContentSetting( 707 host_content_settings_map->GetContentSetting(
707 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 708 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
708 EXPECT_EQ(CONTENT_SETTING_ALLOW, 709 EXPECT_EQ(CONTENT_SETTING_ALLOW,
709 otr_map->GetContentSetting( 710 otr_map->GetContentSetting(
710 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 711 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
711 } 712 }
712 713
713 TEST_F(HostContentSettingsMapTest, OffTheRecordPartialInheritPref) { 714 TEST_F(HostContentSettingsMapTest, OffTheRecordPartialInheritPref) {
714 // Permissions marked INHERIT_IN_INCOGNITO_EXCEPT_ALLOW in 715 // Permissions marked INHERIT_IN_INCOGNITO_EXCEPT_ALLOW in
715 // ContentSettingsRegistry (e.g. push & notifications) only inherit BLOCK 716 // ContentSettingsRegistry (e.g. push & notifications) only inherit BLOCK
716 // settings from regular to incognito. 717 // settings from regular to incognito.
717 TestingProfile profile; 718 TestingProfile profile;
718 Profile* otr_profile = profile.GetOffTheRecordProfile(); 719 Profile* otr_profile = profile.GetOffTheRecordProfile();
719 HostContentSettingsMap* host_content_settings_map = 720 HostContentSettingsMap* host_content_settings_map =
720 HostContentSettingsMapFactory::GetForProfile(&profile); 721 HostContentSettingsMapFactory::GetForProfile(&profile);
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 902
902 // For a single Unicode encoded pattern, check if it gets converted to punycode 903 // For a single Unicode encoded pattern, check if it gets converted to punycode
903 // and old pattern gets deleted. 904 // and old pattern gets deleted.
904 TEST_F(HostContentSettingsMapTest, CanonicalizeExceptionsUnicodeOnly) { 905 TEST_F(HostContentSettingsMapTest, CanonicalizeExceptionsUnicodeOnly) {
905 TestingProfile profile; 906 TestingProfile profile;
906 PrefService* prefs = profile.GetPrefs(); 907 PrefService* prefs = profile.GetPrefs();
907 908
908 // Set utf-8 data. 909 // Set utf-8 data.
909 { 910 {
910 DictionaryPrefUpdate update(prefs, 911 DictionaryPrefUpdate update(prefs,
911 GetPrefName(CONTENT_SETTINGS_TYPE_PLUGINS)); 912 GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES));
912 base::DictionaryValue* all_settings_dictionary = update.Get(); 913 base::DictionaryValue* all_settings_dictionary = update.Get();
913 ASSERT_TRUE(NULL != all_settings_dictionary); 914 ASSERT_TRUE(NULL != all_settings_dictionary);
914 915
915 base::DictionaryValue* dummy_payload = new base::DictionaryValue; 916 base::DictionaryValue* dummy_payload = new base::DictionaryValue;
916 dummy_payload->SetInteger("setting", CONTENT_SETTING_ALLOW); 917 dummy_payload->SetInteger("setting", CONTENT_SETTING_ALLOW);
917 all_settings_dictionary->SetWithoutPathExpansion("[*.]\xC4\x87ira.com,*", 918 all_settings_dictionary->SetWithoutPathExpansion("[*.]\xC4\x87ira.com,*",
918 dummy_payload); 919 dummy_payload);
919 } 920 }
920 921
921 HostContentSettingsMapFactory::GetForProfile(&profile); 922 HostContentSettingsMapFactory::GetForProfile(&profile);
922 923
923 const base::DictionaryValue* all_settings_dictionary = 924 const base::DictionaryValue* all_settings_dictionary =
924 prefs->GetDictionary(GetPrefName(CONTENT_SETTINGS_TYPE_PLUGINS)); 925 prefs->GetDictionary(GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES));
925 const base::DictionaryValue* result = NULL; 926 const base::DictionaryValue* result = NULL;
926 EXPECT_FALSE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( 927 EXPECT_FALSE(all_settings_dictionary->GetDictionaryWithoutPathExpansion(
927 "[*.]\xC4\x87ira.com,*", &result)); 928 "[*.]\xC4\x87ira.com,*", &result));
928 EXPECT_TRUE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( 929 EXPECT_TRUE(all_settings_dictionary->GetDictionaryWithoutPathExpansion(
929 "[*.]xn--ira-ppa.com,*", &result)); 930 "[*.]xn--ira-ppa.com,*", &result));
930 } 931 }
931 932
932 // If both Unicode and its punycode pattern exist, make sure we don't touch the 933 // If both Unicode and its punycode pattern exist, make sure we don't touch the
933 // settings for the punycode, and that Unicode pattern gets deleted. 934 // settings for the punycode, and that Unicode pattern gets deleted.
934 TEST_F(HostContentSettingsMapTest, CanonicalizeExceptionsUnicodeAndPunycode) { 935 TEST_F(HostContentSettingsMapTest, CanonicalizeExceptionsUnicodeAndPunycode) {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 EXPECT_EQ(CONTENT_SETTING_BLOCK, 976 EXPECT_EQ(CONTENT_SETTING_BLOCK,
976 host_content_settings_map->GetDefaultContentSetting( 977 host_content_settings_map->GetDefaultContentSetting(
977 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL)); 978 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL));
978 979
979 // Remove managed-default-content-settings-preferences. 980 // Remove managed-default-content-settings-preferences.
980 prefs->RemoveManagedPref(prefs::kManagedDefaultJavaScriptSetting); 981 prefs->RemoveManagedPref(prefs::kManagedDefaultJavaScriptSetting);
981 EXPECT_EQ(CONTENT_SETTING_ALLOW, 982 EXPECT_EQ(CONTENT_SETTING_ALLOW,
982 host_content_settings_map->GetDefaultContentSetting( 983 host_content_settings_map->GetDefaultContentSetting(
983 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL)); 984 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL));
984 985
986 #if defined(ENABLE_PLUGINS)
985 // Set preference to manage the default-content-setting for Plugins. 987 // Set preference to manage the default-content-setting for Plugins.
986 prefs->SetManagedPref(prefs::kManagedDefaultPluginsSetting, 988 prefs->SetManagedPref(prefs::kManagedDefaultPluginsSetting,
987 new base::FundamentalValue(CONTENT_SETTING_BLOCK)); 989 new base::FundamentalValue(CONTENT_SETTING_BLOCK));
988 EXPECT_EQ(CONTENT_SETTING_BLOCK, 990 EXPECT_EQ(CONTENT_SETTING_BLOCK,
989 host_content_settings_map->GetDefaultContentSetting( 991 host_content_settings_map->GetDefaultContentSetting(
990 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); 992 CONTENT_SETTINGS_TYPE_PLUGINS, NULL));
991 993
992 #if defined(ENABLE_PLUGINS)
993 // Remove the preference to manage the default-content-setting for Plugins. 994 // Remove the preference to manage the default-content-setting for Plugins.
994 prefs->RemoveManagedPref(prefs::kManagedDefaultPluginsSetting); 995 prefs->RemoveManagedPref(prefs::kManagedDefaultPluginsSetting);
995 EXPECT_EQ(CONTENT_SETTING_DETECT_IMPORTANT_CONTENT, 996 EXPECT_EQ(CONTENT_SETTING_DETECT_IMPORTANT_CONTENT,
996 host_content_settings_map->GetDefaultContentSetting( 997 host_content_settings_map->GetDefaultContentSetting(
997 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); 998 CONTENT_SETTINGS_TYPE_PLUGINS, NULL));
998 #endif 999 #endif
999 1000
1000 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1001 EXPECT_EQ(CONTENT_SETTING_BLOCK,
1001 host_content_settings_map->GetDefaultContentSetting( 1002 host_content_settings_map->GetDefaultContentSetting(
1002 CONTENT_SETTINGS_TYPE_KEYGEN, NULL)); 1003 CONTENT_SETTINGS_TYPE_KEYGEN, NULL));
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1121 // If a setting for a default-content-setting-type is set while the type is 1122 // If a setting for a default-content-setting-type is set while the type is
1122 // managed, then the new setting should be preserved and used after the 1123 // managed, then the new setting should be preserved and used after the
1123 // default-content-setting-type is not managed anymore. 1124 // default-content-setting-type is not managed anymore.
1124 TEST_F(HostContentSettingsMapTest, SettingDefaultContentSettingsWhenManaged) { 1125 TEST_F(HostContentSettingsMapTest, SettingDefaultContentSettingsWhenManaged) {
1125 TestingProfile profile; 1126 TestingProfile profile;
1126 HostContentSettingsMap* host_content_settings_map = 1127 HostContentSettingsMap* host_content_settings_map =
1127 HostContentSettingsMapFactory::GetForProfile(&profile); 1128 HostContentSettingsMapFactory::GetForProfile(&profile);
1128 syncable_prefs::TestingPrefServiceSyncable* prefs = 1129 syncable_prefs::TestingPrefServiceSyncable* prefs =
1129 profile.GetTestingPrefService(); 1130 profile.GetTestingPrefService();
1130 1131
1131 prefs->SetManagedPref(prefs::kManagedDefaultPluginsSetting, 1132 prefs->SetManagedPref(prefs::kManagedDefaultCookiesSetting,
1132 new base::FundamentalValue(CONTENT_SETTING_ALLOW)); 1133 new base::FundamentalValue(CONTENT_SETTING_ALLOW));
1133 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1134 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1134 host_content_settings_map->GetDefaultContentSetting( 1135 host_content_settings_map->GetDefaultContentSetting(
1135 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); 1136 CONTENT_SETTINGS_TYPE_COOKIES, NULL));
1136 1137
1137 host_content_settings_map->SetDefaultContentSetting( 1138 host_content_settings_map->SetDefaultContentSetting(
1138 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK); 1139 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
1139 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1140 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1140 host_content_settings_map->GetDefaultContentSetting( 1141 host_content_settings_map->GetDefaultContentSetting(
1141 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); 1142 CONTENT_SETTINGS_TYPE_COOKIES, NULL));
1142 1143
1143 prefs->RemoveManagedPref(prefs::kManagedDefaultPluginsSetting); 1144 prefs->RemoveManagedPref(prefs::kManagedDefaultCookiesSetting);
1144 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1145 EXPECT_EQ(CONTENT_SETTING_BLOCK,
1145 host_content_settings_map->GetDefaultContentSetting( 1146 host_content_settings_map->GetDefaultContentSetting(
1146 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); 1147 CONTENT_SETTINGS_TYPE_COOKIES, NULL));
1147 } 1148 }
1148 1149
1149 TEST_F(HostContentSettingsMapTest, GetContentSetting) { 1150 TEST_F(HostContentSettingsMapTest, GetContentSetting) {
1150 TestingProfile profile; 1151 TestingProfile profile;
1151 HostContentSettingsMap* host_content_settings_map = 1152 HostContentSettingsMap* host_content_settings_map =
1152 HostContentSettingsMapFactory::GetForProfile(&profile); 1153 HostContentSettingsMapFactory::GetForProfile(&profile);
1153 1154
1154 GURL host("http://example.com/"); 1155 GURL host("http://example.com/");
1155 GURL embedder("chrome://foo"); 1156 GURL embedder("chrome://foo");
1156 host_content_settings_map->SetContentSettingDefaultScope( 1157 host_content_settings_map->SetContentSettingDefaultScope(
1157 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 1158 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
1158 CONTENT_SETTING_BLOCK); 1159 CONTENT_SETTING_BLOCK);
1159 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1160 EXPECT_EQ(CONTENT_SETTING_BLOCK,
1160 host_content_settings_map->GetContentSetting( 1161 host_content_settings_map->GetContentSetting(
1161 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 1162 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
1162 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1163 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1163 host_content_settings_map->GetContentSetting( 1164 host_content_settings_map->GetContentSetting(
1164 embedder, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 1165 embedder, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
1165 } 1166 }
1166 1167
1167 TEST_F(HostContentSettingsMapTest, IsDefaultSettingAllowedForType) { 1168 TEST_F(HostContentSettingsMapTest, IsDefaultSettingAllowedForType) {
1168 EXPECT_FALSE(HostContentSettingsMap::IsDefaultSettingAllowedForType( 1169 EXPECT_FALSE(HostContentSettingsMap::IsDefaultSettingAllowedForType(
1169 CONTENT_SETTING_ALLOW, CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 1170 CONTENT_SETTING_ALLOW, CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
1170 EXPECT_FALSE(HostContentSettingsMap::IsDefaultSettingAllowedForType( 1171 EXPECT_FALSE(HostContentSettingsMap::IsDefaultSettingAllowedForType(
1171 CONTENT_SETTING_ALLOW, CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 1172 CONTENT_SETTING_ALLOW, CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
1172 } 1173 }
1173 1174
1174 TEST_F(HostContentSettingsMapTest, AddContentSettingsObserver) { 1175 TEST_F(HostContentSettingsMapTest, AddContentSettingsObserver) {
1175 TestingProfile profile; 1176 TestingProfile profile;
1176 HostContentSettingsMap* host_content_settings_map = 1177 HostContentSettingsMap* host_content_settings_map =
1177 HostContentSettingsMapFactory::GetForProfile(&profile); 1178 HostContentSettingsMapFactory::GetForProfile(&profile);
1178 content_settings::MockObserver mock_observer; 1179 content_settings::MockObserver mock_observer;
1179 1180
1180 GURL host("http://example.com/"); 1181 GURL host("http://example.com/");
1181 ContentSettingsPattern pattern = 1182 ContentSettingsPattern pattern =
1182 ContentSettingsPattern::FromString("[*.]example.com"); 1183 ContentSettingsPattern::FromString("[*.]example.com");
1183 EXPECT_CALL(mock_observer, 1184 EXPECT_CALL(mock_observer, OnContentSettingChanged(
1184 OnContentSettingChanged(pattern, 1185 pattern, ContentSettingsPattern::Wildcard(),
1185 ContentSettingsPattern::Wildcard(), 1186 CONTENT_SETTINGS_TYPE_COOKIES, ""));
1186 CONTENT_SETTINGS_TYPE_IMAGES,
1187 ""));
1188 1187
1189 host_content_settings_map->AddObserver(&mock_observer); 1188 host_content_settings_map->AddObserver(&mock_observer);
1190 1189
1191 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1190 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1192 host_content_settings_map->GetContentSetting( 1191 host_content_settings_map->GetContentSetting(
1193 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 1192 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
1194 host_content_settings_map->SetContentSettingDefaultScope( 1193 host_content_settings_map->SetContentSettingDefaultScope(
1195 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 1194 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
1196 CONTENT_SETTING_DEFAULT); 1195 CONTENT_SETTING_DEFAULT);
1197 } 1196 }
1198 1197
1199 TEST_F(HostContentSettingsMapTest, GuestProfile) { 1198 TEST_F(HostContentSettingsMapTest, GuestProfile) {
1200 TestingProfile profile; 1199 TestingProfile profile;
1201 profile.SetGuestSession(true); 1200 profile.SetGuestSession(true);
1202 HostContentSettingsMap* host_content_settings_map = 1201 HostContentSettingsMap* host_content_settings_map =
1203 HostContentSettingsMapFactory::GetForProfile(&profile); 1202 HostContentSettingsMapFactory::GetForProfile(&profile);
1204 1203
1205 GURL host("http://example.com/"); 1204 GURL host("http://example.com/");
1206 ContentSettingsPattern pattern = 1205 ContentSettingsPattern pattern =
1207 ContentSettingsPattern::FromString("[*.]example.com"); 1206 ContentSettingsPattern::FromString("[*.]example.com");
1208 1207
1209 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1208 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1210 host_content_settings_map->GetContentSetting( 1209 host_content_settings_map->GetContentSetting(
1211 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 1210 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
1212 1211
1213 // Changing content settings should not result in any prefs being stored 1212 // Changing content settings should not result in any prefs being stored
1214 // however the value should be set in memory. 1213 // however the value should be set in memory.
1215 host_content_settings_map->SetContentSettingDefaultScope( 1214 host_content_settings_map->SetContentSettingDefaultScope(
1216 host, GURL(), CONTENT_SETTINGS_TYPE_IMAGES, std::string(), 1215 host, GURL(), CONTENT_SETTINGS_TYPE_COOKIES, std::string(),
1217 CONTENT_SETTING_BLOCK); 1216 CONTENT_SETTING_BLOCK);
1218 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1217 EXPECT_EQ(CONTENT_SETTING_BLOCK,
1219 host_content_settings_map->GetContentSetting( 1218 host_content_settings_map->GetContentSetting(
1220 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 1219 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
1221 1220
1222 const base::DictionaryValue* all_settings_dictionary = 1221 const base::DictionaryValue* all_settings_dictionary =
1223 profile.GetPrefs()->GetDictionary( 1222 profile.GetPrefs()->GetDictionary(
1224 GetPrefName(CONTENT_SETTINGS_TYPE_IMAGES)); 1223 GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES));
1225 EXPECT_TRUE(all_settings_dictionary->empty()); 1224 EXPECT_TRUE(all_settings_dictionary->empty());
1226 } 1225 }
1227 1226
1228 // Default settings should not be modifiable for the guest profile (there is no 1227 // Default settings should not be modifiable for the guest profile (there is no
1229 // UI to do this). 1228 // UI to do this).
1230 TEST_F(HostContentSettingsMapTest, GuestProfileDefaultSetting) { 1229 TEST_F(HostContentSettingsMapTest, GuestProfileDefaultSetting) {
1231 TestingProfile profile; 1230 TestingProfile profile;
1232 profile.SetGuestSession(true); 1231 profile.SetGuestSession(true);
1233 HostContentSettingsMap* host_content_settings_map = 1232 HostContentSettingsMap* host_content_settings_map =
1234 HostContentSettingsMapFactory::GetForProfile(&profile); 1233 HostContentSettingsMapFactory::GetForProfile(&profile);
1235 1234
1236 GURL host("http://example.com/"); 1235 GURL host("http://example.com/");
1237 1236
1238 // There are no custom rules, so this should be the default. 1237 // There are no custom rules, so this should be the default.
1239 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1238 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1240 host_content_settings_map->GetContentSetting( 1239 host_content_settings_map->GetContentSetting(
1241 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 1240 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
1242 1241
1243 host_content_settings_map->SetDefaultContentSetting( 1242 host_content_settings_map->SetDefaultContentSetting(
1244 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); 1243 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
1245 1244
1246 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1245 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1247 host_content_settings_map->GetContentSetting( 1246 host_content_settings_map->GetContentSetting(
1248 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 1247 host, host, CONTENT_SETTINGS_TYPE_COOKIES, std::string()));
1249 } 1248 }
1250 1249
1251 // We used to incorrectly store content settings in prefs for the guest profile. 1250 // We used to incorrectly store content settings in prefs for the guest profile.
1252 // We need to ensure these get deleted appropriately. 1251 // We need to ensure these get deleted appropriately.
1253 TEST_F(HostContentSettingsMapTest, GuestProfileMigration) { 1252 TEST_F(HostContentSettingsMapTest, GuestProfileMigration) {
1254 TestingProfile profile; 1253 TestingProfile profile;
1255 profile.SetGuestSession(true); 1254 profile.SetGuestSession(true);
1256 1255
1257 // Set a pref manually in the guest profile. 1256 // Set a pref manually in the guest profile.
1258 std::unique_ptr<base::Value> value = 1257 std::unique_ptr<base::Value> value =
1259 base::JSONReader::Read("{\"[*.]\\xC4\\x87ira.com,*\":{\"setting\":1}}"); 1258 base::JSONReader::Read("{\"[*.]\\xC4\\x87ira.com,*\":{\"setting\":1}}");
1260 profile.GetPrefs()->Set(GetPrefName(CONTENT_SETTINGS_TYPE_IMAGES), *value); 1259 profile.GetPrefs()->Set(GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES), *value);
1261 1260
1262 // Test that during construction all the prefs get cleared. 1261 // Test that during construction all the prefs get cleared.
1263 HostContentSettingsMapFactory::GetForProfile(&profile); 1262 HostContentSettingsMapFactory::GetForProfile(&profile);
1264 1263
1265 const base::DictionaryValue* all_settings_dictionary = 1264 const base::DictionaryValue* all_settings_dictionary =
1266 profile.GetPrefs()->GetDictionary( 1265 profile.GetPrefs()->GetDictionary(
1267 GetPrefName(CONTENT_SETTINGS_TYPE_IMAGES)); 1266 GetPrefName(CONTENT_SETTINGS_TYPE_COOKIES));
1268 EXPECT_TRUE(all_settings_dictionary->empty()); 1267 EXPECT_TRUE(all_settings_dictionary->empty());
1269 } 1268 }
1270 1269
1271 TEST_F(HostContentSettingsMapTest, MigrateKeygenSettings) { 1270 TEST_F(HostContentSettingsMapTest, MigrateKeygenSettings) {
1272 TestingProfile profile; 1271 TestingProfile profile;
1273 HostContentSettingsMap* host_content_settings_map = 1272 HostContentSettingsMap* host_content_settings_map =
1274 HostContentSettingsMapFactory::GetForProfile(&profile); 1273 HostContentSettingsMapFactory::GetForProfile(&profile);
1275 1274
1276 // Set old formatted settings. 1275 // Set old formatted settings.
1277 GURL host("http://example.com/"); 1276 GURL host("http://example.com/");
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1310 host, host, CONTENT_SETTINGS_TYPE_KEYGEN, std::string())); 1309 host, host, CONTENT_SETTINGS_TYPE_KEYGEN, std::string()));
1311 1310
1312 // After migrating old settings, changes to the setting works. 1311 // After migrating old settings, changes to the setting works.
1313 host_content_settings_map->SetContentSettingDefaultScope( 1312 host_content_settings_map->SetContentSettingDefaultScope(
1314 host, GURL(), CONTENT_SETTINGS_TYPE_KEYGEN, std::string(), 1313 host, GURL(), CONTENT_SETTINGS_TYPE_KEYGEN, std::string(),
1315 CONTENT_SETTING_BLOCK); 1314 CONTENT_SETTING_BLOCK);
1316 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1315 EXPECT_EQ(CONTENT_SETTING_BLOCK,
1317 host_content_settings_map->GetContentSetting( 1316 host_content_settings_map->GetContentSetting(
1318 host, host, CONTENT_SETTINGS_TYPE_KEYGEN, std::string())); 1317 host, host, CONTENT_SETTINGS_TYPE_KEYGEN, std::string()));
1319 } 1318 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698