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

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

Issue 7713034: HostContentSettingsMap refactoring. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/auto_reset.h" 5 #include "base/auto_reset.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/json/json_writer.h" 8 #include "base/json/json_writer.h"
9 #include "chrome/browser/content_settings/content_settings_details.h" 9 #include "chrome/browser/content_settings/content_settings_details.h"
10 #include "chrome/browser/content_settings/host_content_settings_map.h" 10 #include "chrome/browser/content_settings/host_content_settings_map.h"
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 CONTENT_SETTINGS_TYPE_IMAGES, false, 310 CONTENT_SETTINGS_TYPE_IMAGES, false,
311 _, _, true)); 311 _, _, true));
312 host_content_settings_map->SetDefaultContentSetting( 312 host_content_settings_map->SetDefaultContentSetting(
313 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); 313 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
314 } 314 }
315 315
316 TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) { 316 TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) {
317 TestingProfile profile; 317 TestingProfile profile;
318 HostContentSettingsMap* host_content_settings_map = 318 HostContentSettingsMap* host_content_settings_map =
319 profile.GetHostContentSettingsMap(); 319 profile.GetHostContentSettingsMap();
320 CookieContentSettings* cookie_content_settings =
321 profile.GetCookieContentSettings();
320 322
321 PrefService* prefs = profile.GetPrefs(); 323 PrefService* prefs = profile.GetPrefs();
322 324
323 // Make a copy of the default pref value so we can reset it later. 325 // Make a copy of the default pref value so we can reset it later.
324 scoped_ptr<Value> default_value(prefs->FindPreference( 326 scoped_ptr<Value> default_value(prefs->FindPreference(
325 prefs::kDefaultContentSettings)->GetValue()->DeepCopy()); 327 prefs::kDefaultContentSettings)->GetValue()->DeepCopy());
326 328
327 GURL host("http://example.com"); 329 GURL host("http://example.com");
328 330
329 host_content_settings_map->SetDefaultContentSetting( 331 host_content_settings_map->SetDefaultContentSetting(
330 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); 332 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
331 EXPECT_EQ(CONTENT_SETTING_BLOCK, 333 EXPECT_FALSE(cookie_content_settings->Allow(host, host, true));
332 host_content_settings_map->GetCookieContentSetting(
333 host, host, true));
334 334
335 // Make a copy of the pref's new value so we can reset it later. 335 // Make a copy of the pref's new value so we can reset it later.
336 scoped_ptr<Value> new_value(prefs->FindPreference( 336 scoped_ptr<Value> new_value(prefs->FindPreference(
337 prefs::kDefaultContentSettings)->GetValue()->DeepCopy()); 337 prefs::kDefaultContentSettings)->GetValue()->DeepCopy());
338 338
339 // Clearing the backing pref should also clear the internal cache. 339 // Clearing the backing pref should also clear the internal cache.
340 prefs->Set(prefs::kDefaultContentSettings, *default_value); 340 prefs->Set(prefs::kDefaultContentSettings, *default_value);
341 EXPECT_EQ(CONTENT_SETTING_ALLOW, 341 EXPECT_TRUE(cookie_content_settings->Allow(host, host, true));
342 host_content_settings_map->GetCookieContentSetting( 342 EXPECT_FALSE(cookie_content_settings->EnforceSessionOnly(host));
343 host, host, true));
344 343
345 // Reseting the pref to its previous value should update the cache. 344 // Reseting the pref to its previous value should update the cache.
346 prefs->Set(prefs::kDefaultContentSettings, *new_value); 345 prefs->Set(prefs::kDefaultContentSettings, *new_value);
347 EXPECT_EQ(CONTENT_SETTING_BLOCK, 346 EXPECT_FALSE(cookie_content_settings->Allow(host, host, true));
348 host_content_settings_map->GetCookieContentSetting(
349 host, host, true));
350 } 347 }
351 348
352 TEST_F(HostContentSettingsMapTest, ObserveExceptionPref) { 349 TEST_F(HostContentSettingsMapTest, ObserveExceptionPref) {
353 TestingProfile profile; 350 TestingProfile profile;
354 HostContentSettingsMap* host_content_settings_map = 351 HostContentSettingsMap* host_content_settings_map =
355 profile.GetHostContentSettingsMap(); 352 profile.GetHostContentSettingsMap();
353 CookieContentSettings* cookie_content_settings =
354 profile.GetCookieContentSettings();
356 355
357 PrefService* prefs = profile.GetPrefs(); 356 PrefService* prefs = profile.GetPrefs();
358 357
359 // Make a copy of the default pref value so we can reset it later. 358 // Make a copy of the default pref value so we can reset it later.
360 scoped_ptr<Value> default_value(prefs->FindPreference( 359 scoped_ptr<Value> default_value(prefs->FindPreference(
361 prefs::kContentSettingsPatternPairs)->GetValue()->DeepCopy()); 360 prefs::kContentSettingsPatternPairs)->GetValue()->DeepCopy());
362 361
363 ContentSettingsPattern pattern = 362 ContentSettingsPattern pattern =
364 ContentSettingsPattern::FromString("[*.]example.com"); 363 ContentSettingsPattern::FromString("[*.]example.com");
365 GURL host("http://example.com"); 364 GURL host("http://example.com");
366 365
367 host_content_settings_map->SetContentSetting( 366 host_content_settings_map->SetContentSetting(
368 pattern, 367 pattern,
369 ContentSettingsPattern::Wildcard(), 368 ContentSettingsPattern::Wildcard(),
370 CONTENT_SETTINGS_TYPE_COOKIES, 369 CONTENT_SETTINGS_TYPE_COOKIES,
371 std::string(), 370 std::string(),
372 CONTENT_SETTING_BLOCK); 371 CONTENT_SETTING_BLOCK);
373 EXPECT_EQ(CONTENT_SETTING_BLOCK, 372
374 host_content_settings_map->GetCookieContentSetting( 373 EXPECT_FALSE(cookie_content_settings->Allow(host, host, true));
375 host, host, true));
376 374
377 // Make a copy of the pref's new value so we can reset it later. 375 // Make a copy of the pref's new value so we can reset it later.
378 scoped_ptr<Value> new_value(prefs->FindPreference( 376 scoped_ptr<Value> new_value(prefs->FindPreference(
379 prefs::kContentSettingsPatternPairs)->GetValue()->DeepCopy()); 377 prefs::kContentSettingsPatternPairs)->GetValue()->DeepCopy());
380 378
381 // Clearing the backing pref should also clear the internal cache. 379 // Clearing the backing pref should also clear the internal cache.
382 prefs->Set(prefs::kContentSettingsPatternPairs, *default_value); 380 prefs->Set(prefs::kContentSettingsPatternPairs, *default_value);
383 EXPECT_EQ(CONTENT_SETTING_ALLOW, 381 EXPECT_TRUE(cookie_content_settings->Allow(host, host, true));
384 host_content_settings_map->GetCookieContentSetting( 382 EXPECT_FALSE(cookie_content_settings->EnforceSessionOnly(host));
385 host, host, true));
386 383
387 // Reseting the pref to its previous value should update the cache. 384 // Reseting the pref to its previous value should update the cache.
388 prefs->Set(prefs::kContentSettingsPatternPairs, *new_value); 385 prefs->Set(prefs::kContentSettingsPatternPairs, *new_value);
389 EXPECT_EQ(CONTENT_SETTING_BLOCK, 386 EXPECT_FALSE(cookie_content_settings->Allow(host, host, true));
390 host_content_settings_map->GetCookieContentSetting(
391 host, host, true));
392 } 387 }
393 388
394 TEST_F(HostContentSettingsMapTest, HostTrimEndingDotCheck) { 389 TEST_F(HostContentSettingsMapTest, HostTrimEndingDotCheck) {
395 TestingProfile profile; 390 TestingProfile profile;
396 HostContentSettingsMap* host_content_settings_map = 391 HostContentSettingsMap* host_content_settings_map =
397 profile.GetHostContentSettingsMap(); 392 profile.GetHostContentSettingsMap();
393 CookieContentSettings* cookie_content_settings =
394 profile.GetCookieContentSettings();
398 395
399 ContentSettingsPattern pattern = 396 ContentSettingsPattern pattern =
400 ContentSettingsPattern::FromString("[*.]example.com"); 397 ContentSettingsPattern::FromString("[*.]example.com");
401 GURL host_ending_with_dot("http://example.com./"); 398 GURL host_ending_with_dot("http://example.com./");
402 399
403 EXPECT_EQ(CONTENT_SETTING_ALLOW, 400 EXPECT_EQ(CONTENT_SETTING_ALLOW,
404 host_content_settings_map->GetContentSetting( 401 host_content_settings_map->GetContentSetting(
405 host_ending_with_dot, 402 host_ending_with_dot,
406 host_ending_with_dot, 403 host_ending_with_dot,
407 CONTENT_SETTINGS_TYPE_IMAGES, 404 CONTENT_SETTINGS_TYPE_IMAGES,
(...skipping 16 matching lines...) Expand all
424 CONTENT_SETTINGS_TYPE_IMAGES, 421 CONTENT_SETTINGS_TYPE_IMAGES,
425 "", 422 "",
426 CONTENT_SETTING_BLOCK); 423 CONTENT_SETTING_BLOCK);
427 EXPECT_EQ(CONTENT_SETTING_BLOCK, 424 EXPECT_EQ(CONTENT_SETTING_BLOCK,
428 host_content_settings_map->GetContentSetting( 425 host_content_settings_map->GetContentSetting(
429 host_ending_with_dot, 426 host_ending_with_dot,
430 host_ending_with_dot, 427 host_ending_with_dot,
431 CONTENT_SETTINGS_TYPE_IMAGES, 428 CONTENT_SETTINGS_TYPE_IMAGES,
432 "")); 429 ""));
433 430
434 EXPECT_EQ(CONTENT_SETTING_ALLOW, 431 EXPECT_TRUE(cookie_content_settings->Allow(
435 host_content_settings_map->GetCookieContentSetting( 432 host_ending_with_dot, host_ending_with_dot, true));
436 host_ending_with_dot, host_ending_with_dot, true));
437 host_content_settings_map->SetContentSetting( 433 host_content_settings_map->SetContentSetting(
438 pattern, 434 pattern,
439 ContentSettingsPattern::Wildcard(), 435 ContentSettingsPattern::Wildcard(),
440 CONTENT_SETTINGS_TYPE_COOKIES, 436 CONTENT_SETTINGS_TYPE_COOKIES,
441 "", 437 "",
442 CONTENT_SETTING_DEFAULT); 438 CONTENT_SETTING_DEFAULT);
443 EXPECT_EQ(CONTENT_SETTING_ALLOW, 439 EXPECT_TRUE(cookie_content_settings->Allow(
444 host_content_settings_map->GetCookieContentSetting( 440 host_ending_with_dot, host_ending_with_dot, true));
445 host_ending_with_dot, host_ending_with_dot, true));
446 host_content_settings_map->SetContentSetting( 441 host_content_settings_map->SetContentSetting(
447 pattern, 442 pattern,
448 ContentSettingsPattern::Wildcard(), 443 ContentSettingsPattern::Wildcard(),
449 CONTENT_SETTINGS_TYPE_COOKIES, 444 CONTENT_SETTINGS_TYPE_COOKIES,
450 "", 445 "",
451 CONTENT_SETTING_BLOCK); 446 CONTENT_SETTING_BLOCK);
452 EXPECT_EQ(CONTENT_SETTING_BLOCK, 447 EXPECT_FALSE(cookie_content_settings->Allow(
453 host_content_settings_map->GetCookieContentSetting( 448 host_ending_with_dot, host_ending_with_dot, true));
454 host_ending_with_dot, host_ending_with_dot, true));
455 449
456 EXPECT_EQ(CONTENT_SETTING_ALLOW, 450 EXPECT_EQ(CONTENT_SETTING_ALLOW,
457 host_content_settings_map->GetContentSetting( 451 host_content_settings_map->GetContentSetting(
458 host_ending_with_dot, 452 host_ending_with_dot,
459 host_ending_with_dot, 453 host_ending_with_dot,
460 CONTENT_SETTINGS_TYPE_JAVASCRIPT, 454 CONTENT_SETTINGS_TYPE_JAVASCRIPT,
461 "")); 455 ""));
462 host_content_settings_map->SetContentSetting( 456 host_content_settings_map->SetContentSetting(
463 pattern, 457 pattern,
464 ContentSettingsPattern::Wildcard(), 458 ContentSettingsPattern::Wildcard(),
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
1081 // Tests for cookie content settings. 1075 // Tests for cookie content settings.
1082 const GURL kBlockedSite = GURL("http://ads.thirdparty.com"); 1076 const GURL kBlockedSite = GURL("http://ads.thirdparty.com");
1083 const GURL kAllowedSite = GURL("http://good.allays.com"); 1077 const GURL kAllowedSite = GURL("http://good.allays.com");
1084 const GURL kFirstPartySite = GURL("http://cool.things.com"); 1078 const GURL kFirstPartySite = GURL("http://cool.things.com");
1085 const GURL kExtensionURL = GURL("chrome-extension://deadbeef"); 1079 const GURL kExtensionURL = GURL("chrome-extension://deadbeef");
1086 1080
1087 TEST_F(HostContentSettingsMapTest, CookiesBlockSingle) { 1081 TEST_F(HostContentSettingsMapTest, CookiesBlockSingle) {
1088 TestingProfile profile; 1082 TestingProfile profile;
1089 HostContentSettingsMap* host_content_settings_map = 1083 HostContentSettingsMap* host_content_settings_map =
1090 profile.GetHostContentSettingsMap(); 1084 profile.GetHostContentSettingsMap();
1085 CookieContentSettings* cookie_content_settings =
1086 profile.GetCookieContentSettings();
1087
1091 host_content_settings_map->AddExceptionForURL( 1088 host_content_settings_map->AddExceptionForURL(
1092 kBlockedSite, 1089 kBlockedSite,
1093 kBlockedSite, 1090 kBlockedSite,
1094 CONTENT_SETTINGS_TYPE_COOKIES, 1091 CONTENT_SETTINGS_TYPE_COOKIES,
1095 "", 1092 "",
1096 CONTENT_SETTING_BLOCK); 1093 CONTENT_SETTING_BLOCK);
1097 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1094 EXPECT_FALSE(cookie_content_settings->Allow(
1098 host_content_settings_map->GetCookieContentSetting( 1095 kBlockedSite, kBlockedSite, false));
1099 kBlockedSite, kBlockedSite, false));
1100 } 1096 }
1101 1097
1102 TEST_F(HostContentSettingsMapTest, CookiesBlockThirdParty) { 1098 TEST_F(HostContentSettingsMapTest, CookiesBlockThirdParty) {
1103 TestingProfile profile; 1099 TestingProfile profile;
1104 HostContentSettingsMap* host_content_settings_map = 1100 CookieContentSettings* cookie_content_settings =
1105 profile.GetHostContentSettingsMap(); 1101 profile.GetCookieContentSettings();
1106 host_content_settings_map->SetBlockThirdPartyCookies(true); 1102 cookie_content_settings->SetBlockThirdPartyCookies(true);
1107 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1103 EXPECT_TRUE(cookie_content_settings->Allow(
1108 host_content_settings_map->GetCookieContentSetting( 1104 kBlockedSite, kFirstPartySite, false));
1109 kBlockedSite, kFirstPartySite, false)); 1105 EXPECT_FALSE(cookie_content_settings->EnforceSessionOnly(kBlockedSite));
1110 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1106 EXPECT_FALSE(cookie_content_settings->Allow(
1111 host_content_settings_map->GetCookieContentSetting( 1107 kBlockedSite, kFirstPartySite, true));
1112 kBlockedSite, kFirstPartySite, true));
1113 1108
1114 CommandLine* cmd = CommandLine::ForCurrentProcess(); 1109 CommandLine* cmd = CommandLine::ForCurrentProcess();
1115 AutoReset<CommandLine> auto_reset(cmd, *cmd); 1110 AutoReset<CommandLine> auto_reset(cmd, *cmd);
1116 cmd->AppendSwitch(switches::kBlockReadingThirdPartyCookies); 1111 cmd->AppendSwitch(switches::kBlockReadingThirdPartyCookies);
1117 1112
1118 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1113 EXPECT_FALSE(cookie_content_settings->Allow(
1119 host_content_settings_map->GetCookieContentSetting( 1114 kBlockedSite, kFirstPartySite, false));
1120 kBlockedSite, kFirstPartySite, false)); 1115 EXPECT_FALSE(cookie_content_settings->Allow(
1121 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1116 kBlockedSite, kFirstPartySite, true));
1122 host_content_settings_map->GetCookieContentSetting(
1123 kBlockedSite, kFirstPartySite, true));
1124 } 1117 }
1125 1118
1126 TEST_F(HostContentSettingsMapTest, CookiesAllowThirdParty) { 1119 TEST_F(HostContentSettingsMapTest, CookiesAllowThirdParty) {
1127 TestingProfile profile; 1120 TestingProfile profile;
1128 HostContentSettingsMap* host_content_settings_map = 1121 CookieContentSettings* cookie_content_settings =
1129 profile.GetHostContentSettingsMap(); 1122 profile.GetCookieContentSettings();
1130 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1123 EXPECT_TRUE(cookie_content_settings->Allow(
1131 host_content_settings_map->GetCookieContentSetting( 1124 kBlockedSite, kFirstPartySite, false));
1132 kBlockedSite, kFirstPartySite, false)); 1125 EXPECT_TRUE(cookie_content_settings->Allow(
1133 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1126 kBlockedSite, kFirstPartySite, true));
1134 host_content_settings_map->GetCookieContentSetting( 1127 EXPECT_FALSE(cookie_content_settings->EnforceSessionOnly(kBlockedSite));
1135 kBlockedSite, kFirstPartySite, true));
1136 } 1128 }
1137 1129
1138 TEST_F(HostContentSettingsMapTest, CookiesExplicitBlockSingleThirdParty) { 1130 TEST_F(HostContentSettingsMapTest, CookiesExplicitBlockSingleThirdParty) {
1139 TestingProfile profile; 1131 TestingProfile profile;
1140 HostContentSettingsMap* host_content_settings_map = 1132 HostContentSettingsMap* host_content_settings_map =
1141 profile.GetHostContentSettingsMap(); 1133 profile.GetHostContentSettingsMap();
1134 CookieContentSettings* cookie_content_settings =
1135 profile.GetCookieContentSettings();
1142 host_content_settings_map->AddExceptionForURL( 1136 host_content_settings_map->AddExceptionForURL(
1143 kBlockedSite, kBlockedSite, CONTENT_SETTINGS_TYPE_COOKIES, "", 1137 kBlockedSite, kBlockedSite, CONTENT_SETTINGS_TYPE_COOKIES, "",
1144 CONTENT_SETTING_BLOCK); 1138 CONTENT_SETTING_BLOCK);
1145 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1139 EXPECT_FALSE(cookie_content_settings->Allow(
1146 host_content_settings_map->GetCookieContentSetting( 1140 kBlockedSite, kFirstPartySite, false));
1147 kBlockedSite, kFirstPartySite, false)); 1141 EXPECT_FALSE(cookie_content_settings->Allow(
1148 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1142 kBlockedSite, kFirstPartySite, true));
1149 host_content_settings_map->GetCookieContentSetting( 1143 EXPECT_TRUE(cookie_content_settings->Allow(
1150 kBlockedSite, kFirstPartySite, true)); 1144 kAllowedSite, kFirstPartySite, true));
1151 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1152 host_content_settings_map->GetCookieContentSetting(
1153 kAllowedSite, kFirstPartySite, true));
1154 } 1145 }
1155 1146
1156 TEST_F(HostContentSettingsMapTest, CookiesExplicitSessionOnly) { 1147 TEST_F(HostContentSettingsMapTest, CookiesExplicitSessionOnly) {
1157 TestingProfile profile; 1148 TestingProfile profile;
1158 HostContentSettingsMap* host_content_settings_map = 1149 HostContentSettingsMap* host_content_settings_map =
1159 profile.GetHostContentSettingsMap(); 1150 profile.GetHostContentSettingsMap();
1151 CookieContentSettings* cookie_content_settings =
1152 profile.GetCookieContentSettings();
1160 host_content_settings_map->AddExceptionForURL( 1153 host_content_settings_map->AddExceptionForURL(
1161 kBlockedSite, kBlockedSite, CONTENT_SETTINGS_TYPE_COOKIES, "", 1154 kBlockedSite, kBlockedSite, CONTENT_SETTINGS_TYPE_COOKIES, "",
1162 CONTENT_SETTING_SESSION_ONLY); 1155 CONTENT_SETTING_SESSION_ONLY);
1163 EXPECT_EQ(CONTENT_SETTING_SESSION_ONLY, 1156 EXPECT_TRUE(cookie_content_settings->Allow(
1164 host_content_settings_map->GetCookieContentSetting( 1157 kBlockedSite, kFirstPartySite, false));
1165 kBlockedSite, kFirstPartySite, false)); 1158 EXPECT_TRUE(cookie_content_settings->Allow(
1166 EXPECT_EQ(CONTENT_SETTING_SESSION_ONLY, 1159 kBlockedSite, kFirstPartySite, true));
1167 host_content_settings_map->GetCookieContentSetting( 1160 EXPECT_TRUE(cookie_content_settings->EnforceSessionOnly(kBlockedSite));
1168 kBlockedSite, kFirstPartySite, true));
1169 1161
1170 host_content_settings_map->SetBlockThirdPartyCookies(true); 1162 cookie_content_settings->SetBlockThirdPartyCookies(true);
1171 EXPECT_EQ(CONTENT_SETTING_SESSION_ONLY, 1163 EXPECT_TRUE(cookie_content_settings->
1172 host_content_settings_map->GetCookieContentSetting( 1164 Allow(kBlockedSite, kFirstPartySite, false));
1173 kBlockedSite, kFirstPartySite, false)); 1165 EXPECT_TRUE(cookie_content_settings->
1174 EXPECT_EQ(CONTENT_SETTING_SESSION_ONLY, 1166 Allow(kBlockedSite, kFirstPartySite, true));
1175 host_content_settings_map->GetCookieContentSetting( 1167 EXPECT_TRUE(cookie_content_settings->EnforceSessionOnly(kBlockedSite));
1176 kBlockedSite, kFirstPartySite, true));
1177 } 1168 }
1178 1169
1179 TEST_F(HostContentSettingsMapTest, CookiesThirdPartyBlockedExplicitAllow) { 1170 TEST_F(HostContentSettingsMapTest, CookiesThirdPartyBlockedExplicitAllow) {
1180 TestingProfile profile; 1171 TestingProfile profile;
1181 HostContentSettingsMap* host_content_settings_map = 1172 HostContentSettingsMap* host_content_settings_map =
1182 profile.GetHostContentSettingsMap(); 1173 profile.GetHostContentSettingsMap();
1174 CookieContentSettings* cookie_content_settings =
1175 profile.GetCookieContentSettings();
1183 host_content_settings_map->AddExceptionForURL( 1176 host_content_settings_map->AddExceptionForURL(
1184 kAllowedSite, kAllowedSite, CONTENT_SETTINGS_TYPE_COOKIES, "", 1177 kAllowedSite, kAllowedSite, CONTENT_SETTINGS_TYPE_COOKIES, "",
1185 CONTENT_SETTING_ALLOW); 1178 CONTENT_SETTING_ALLOW);
1186 host_content_settings_map->SetBlockThirdPartyCookies(true); 1179 cookie_content_settings->SetBlockThirdPartyCookies(true);
1187 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1180 EXPECT_TRUE(cookie_content_settings->Allow(
1188 host_content_settings_map->GetCookieContentSetting( 1181 kAllowedSite, kFirstPartySite, false));
1189 kAllowedSite, kFirstPartySite, false)); 1182 EXPECT_TRUE(cookie_content_settings->Allow(
1190 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1183 kAllowedSite, kFirstPartySite, true));
1191 host_content_settings_map->GetCookieContentSetting( 1184 EXPECT_FALSE(cookie_content_settings->EnforceSessionOnly(kAllowedSite));
1192 kAllowedSite, kFirstPartySite, true));
1193 1185
1194 // Extensions should always be allowed to use cookies. 1186 // Extensions should always be allowed to use cookies.
1195 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1187 EXPECT_TRUE(cookie_content_settings->Allow(
1196 host_content_settings_map->GetCookieContentSetting( 1188 kAllowedSite, kExtensionURL, false));
1197 kAllowedSite, kExtensionURL, false)); 1189 EXPECT_TRUE(cookie_content_settings->Allow(
1198 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1190 kAllowedSite, kExtensionURL, true));
1199 host_content_settings_map->GetCookieContentSetting(
1200 kAllowedSite, kExtensionURL, true));
1201 1191
1202 CommandLine* cmd = CommandLine::ForCurrentProcess(); 1192 CommandLine* cmd = CommandLine::ForCurrentProcess();
1203 AutoReset<CommandLine> auto_reset(cmd, *cmd); 1193 AutoReset<CommandLine> auto_reset(cmd, *cmd);
1204 cmd->AppendSwitch(switches::kBlockReadingThirdPartyCookies); 1194 cmd->AppendSwitch(switches::kBlockReadingThirdPartyCookies);
1205 1195
1206 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1196 EXPECT_TRUE(cookie_content_settings->Allow(
1207 host_content_settings_map->GetCookieContentSetting( 1197 kAllowedSite, kFirstPartySite, false));
1208 kAllowedSite, kFirstPartySite, false)); 1198 EXPECT_FALSE(cookie_content_settings->EnforceSessionOnly(kAllowedSite));
1209 1199
1210 // Extensions should always be allowed to use cookies. 1200 // Extensions should always be allowed to use cookies.
1211 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1201 EXPECT_TRUE(cookie_content_settings->Allow(
1212 host_content_settings_map->GetCookieContentSetting( 1202 kAllowedSite, kExtensionURL, false));
1213 kAllowedSite, kExtensionURL, false)); 1203 EXPECT_TRUE(cookie_content_settings->Allow(
1214 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1204 kAllowedSite, kExtensionURL, true));
1215 host_content_settings_map->GetCookieContentSetting(
1216 kAllowedSite, kExtensionURL, true));
1217 } 1205 }
1218 1206
1219 TEST_F(HostContentSettingsMapTest, CookiesBlockEverything) { 1207 TEST_F(HostContentSettingsMapTest, CookiesBlockEverything) {
1220 TestingProfile profile; 1208 TestingProfile profile;
1221 HostContentSettingsMap* host_content_settings_map = 1209 HostContentSettingsMap* host_content_settings_map =
1222 profile.GetHostContentSettingsMap(); 1210 profile.GetHostContentSettingsMap();
1211 CookieContentSettings* cookie_content_settings =
1212 profile.GetCookieContentSettings();
1223 host_content_settings_map->SetDefaultContentSetting( 1213 host_content_settings_map->SetDefaultContentSetting(
1224 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); 1214 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
1225 1215
1226 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1216 EXPECT_FALSE(cookie_content_settings->Allow(
1227 host_content_settings_map->GetCookieContentSetting( 1217 kFirstPartySite, kFirstPartySite, false));
1228 kFirstPartySite, kFirstPartySite, false)); 1218 EXPECT_FALSE(cookie_content_settings->Allow(
1229 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1219 kFirstPartySite, kFirstPartySite, true));
1230 host_content_settings_map->GetCookieContentSetting( 1220 EXPECT_FALSE(cookie_content_settings->Allow(
1231 kFirstPartySite, kFirstPartySite, true)); 1221 kAllowedSite, kFirstPartySite, true));
1232 EXPECT_EQ(CONTENT_SETTING_BLOCK,
1233 host_content_settings_map->GetCookieContentSetting(
1234 kAllowedSite, kFirstPartySite, true));
1235 } 1222 }
1236 1223
1237 TEST_F(HostContentSettingsMapTest, CookiesBlockEverythingExceptAllowed) { 1224 TEST_F(HostContentSettingsMapTest, CookiesBlockEverythingExceptAllowed) {
1238 TestingProfile profile; 1225 TestingProfile profile;
1239 HostContentSettingsMap* host_content_settings_map = 1226 HostContentSettingsMap* host_content_settings_map =
1240 profile.GetHostContentSettingsMap(); 1227 profile.GetHostContentSettingsMap();
1228 CookieContentSettings* cookie_content_settings =
1229 profile.GetCookieContentSettings();
1241 host_content_settings_map->SetDefaultContentSetting( 1230 host_content_settings_map->SetDefaultContentSetting(
1242 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); 1231 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK);
1243 host_content_settings_map->AddExceptionForURL( 1232 host_content_settings_map->AddExceptionForURL(
1244 kAllowedSite, kAllowedSite, CONTENT_SETTINGS_TYPE_COOKIES, "", 1233 kAllowedSite, kAllowedSite, CONTENT_SETTINGS_TYPE_COOKIES, "",
1245 CONTENT_SETTING_ALLOW); 1234 CONTENT_SETTING_ALLOW);
1246 1235
1247 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1236 EXPECT_FALSE(cookie_content_settings->Allow(
1248 host_content_settings_map->GetCookieContentSetting( 1237 kFirstPartySite, kFirstPartySite, false));
1249 kFirstPartySite, kFirstPartySite, false)); 1238 EXPECT_FALSE(cookie_content_settings->Allow(
1250 EXPECT_EQ(CONTENT_SETTING_BLOCK, 1239 kFirstPartySite, kFirstPartySite, true));
1251 host_content_settings_map->GetCookieContentSetting( 1240 EXPECT_TRUE(cookie_content_settings->Allow(
1252 kFirstPartySite, kFirstPartySite, true)); 1241 kAllowedSite, kFirstPartySite, false));
1253 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1242 EXPECT_TRUE(cookie_content_settings->Allow(
1254 host_content_settings_map->GetCookieContentSetting( 1243 kAllowedSite, kFirstPartySite, true));
1255 kAllowedSite, kFirstPartySite, false)); 1244 EXPECT_TRUE(cookie_content_settings->Allow(
1256 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1245 kAllowedSite, kAllowedSite, false));
1257 host_content_settings_map->GetCookieContentSetting( 1246 EXPECT_TRUE(cookie_content_settings->Allow(
1258 kAllowedSite, kFirstPartySite, true)); 1247 kAllowedSite, kAllowedSite, true));
1259 EXPECT_EQ(CONTENT_SETTING_ALLOW, 1248 EXPECT_FALSE(cookie_content_settings->EnforceSessionOnly(kAllowedSite));
1260 host_content_settings_map->GetCookieContentSetting(
1261 kAllowedSite, kAllowedSite, false));
1262 EXPECT_EQ(CONTENT_SETTING_ALLOW,
1263 host_content_settings_map->GetCookieContentSetting(
1264 kAllowedSite, kAllowedSite, true));
1265 } 1249 }
1266 1250
1267 } // namespace 1251 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698