OLD | NEW |
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 "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 "base/message_loop/message_loop.h" | |
10 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
11 #include "base/prefs/scoped_user_pref_update.h" | 10 #include "base/prefs/scoped_user_pref_update.h" |
12 #include "chrome/browser/content_settings/content_settings_mock_observer.h" | 11 #include "chrome/browser/content_settings/content_settings_mock_observer.h" |
13 #include "chrome/browser/content_settings/cookie_settings.h" | 12 #include "chrome/browser/content_settings/cookie_settings.h" |
14 #include "chrome/browser/content_settings/host_content_settings_map.h" | 13 #include "chrome/browser/content_settings/host_content_settings_map.h" |
15 #include "chrome/browser/content_settings/mock_settings_observer.h" | 14 #include "chrome/browser/content_settings/mock_settings_observer.h" |
16 #include "chrome/common/chrome_switches.h" | 15 #include "chrome/common/chrome_switches.h" |
17 #include "chrome/common/pref_names.h" | 16 #include "chrome/common/pref_names.h" |
18 #include "chrome/common/url_constants.h" | 17 #include "chrome/common/url_constants.h" |
19 #include "chrome/test/base/testing_pref_service_syncable.h" | 18 #include "chrome/test/base/testing_pref_service_syncable.h" |
20 #include "chrome/test/base/testing_profile.h" | 19 #include "chrome/test/base/testing_profile.h" |
21 #include "components/content_settings/core/browser/content_settings_details.h" | 20 #include "components/content_settings/core/browser/content_settings_details.h" |
22 #include "content/public/test/test_browser_thread.h" | |
23 #include "net/base/static_cookie_policy.h" | 21 #include "net/base/static_cookie_policy.h" |
24 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
25 #include "url/gurl.h" | 23 #include "url/gurl.h" |
26 | 24 |
27 using content::BrowserThread; | |
28 | |
29 using ::testing::_; | 25 using ::testing::_; |
30 | 26 |
31 class HostContentSettingsMapTest : public testing::Test { | 27 TEST(HostContentSettingsMapTest, DefaultValues) { |
32 public: | |
33 HostContentSettingsMapTest() : ui_thread_(BrowserThread::UI, &message_loop_) { | |
34 } | |
35 | |
36 protected: | |
37 base::MessageLoop message_loop_; | |
38 content::TestBrowserThread ui_thread_; | |
39 }; | |
40 | |
41 TEST_F(HostContentSettingsMapTest, DefaultValues) { | |
42 TestingProfile profile; | 28 TestingProfile profile; |
43 HostContentSettingsMap* host_content_settings_map = | 29 HostContentSettingsMap* host_content_settings_map = |
44 profile.GetHostContentSettingsMap(); | 30 profile.GetHostContentSettingsMap(); |
45 | 31 |
46 // Check setting defaults. | 32 // Check setting defaults. |
47 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 33 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
48 host_content_settings_map->GetDefaultContentSetting( | 34 host_content_settings_map->GetDefaultContentSetting( |
49 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL)); | 35 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL)); |
50 host_content_settings_map->SetDefaultContentSetting( | 36 host_content_settings_map->SetDefaultContentSetting( |
51 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); | 37 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); |
(...skipping 12 matching lines...) Expand all Loading... |
64 host_content_settings_map->GetDefaultContentSetting( | 50 host_content_settings_map->GetDefaultContentSetting( |
65 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); | 51 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); |
66 } | 52 } |
67 host_content_settings_map->SetDefaultContentSetting( | 53 host_content_settings_map->SetDefaultContentSetting( |
68 CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_ALLOW); | 54 CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_ALLOW); |
69 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 55 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
70 host_content_settings_map->GetDefaultContentSetting( | 56 host_content_settings_map->GetDefaultContentSetting( |
71 CONTENT_SETTINGS_TYPE_POPUPS, NULL)); | 57 CONTENT_SETTINGS_TYPE_POPUPS, NULL)); |
72 } | 58 } |
73 | 59 |
74 TEST_F(HostContentSettingsMapTest, IndividualSettings) { | 60 TEST(HostContentSettingsMapTest, IndividualSettings) { |
75 TestingProfile profile; | 61 TestingProfile profile; |
76 HostContentSettingsMap* host_content_settings_map = | 62 HostContentSettingsMap* host_content_settings_map = |
77 profile.GetHostContentSettingsMap(); | 63 profile.GetHostContentSettingsMap(); |
78 | 64 |
79 // Check returning individual settings. | 65 // Check returning individual settings. |
80 GURL host("http://example.com/"); | 66 GURL host("http://example.com/"); |
81 ContentSettingsPattern pattern = | 67 ContentSettingsPattern pattern = |
82 ContentSettingsPattern::FromString("[*.]example.com"); | 68 ContentSettingsPattern::FromString("[*.]example.com"); |
83 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 69 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
84 host_content_settings_map->GetContentSetting( | 70 host_content_settings_map->GetContentSetting( |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 host_content_settings_map->GetSettingsForOneType( | 159 host_content_settings_map->GetSettingsForOneType( |
174 CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), &host_settings); | 160 CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), &host_settings); |
175 // |host_settings| contains the default setting and 2 exceptions. | 161 // |host_settings| contains the default setting and 2 exceptions. |
176 EXPECT_EQ(3U, host_settings.size()); | 162 EXPECT_EQ(3U, host_settings.size()); |
177 host_content_settings_map->GetSettingsForOneType( | 163 host_content_settings_map->GetSettingsForOneType( |
178 CONTENT_SETTINGS_TYPE_POPUPS, std::string(), &host_settings); | 164 CONTENT_SETTINGS_TYPE_POPUPS, std::string(), &host_settings); |
179 // |host_settings| contains only the default setting. | 165 // |host_settings| contains only the default setting. |
180 EXPECT_EQ(1U, host_settings.size()); | 166 EXPECT_EQ(1U, host_settings.size()); |
181 } | 167 } |
182 | 168 |
183 TEST_F(HostContentSettingsMapTest, Clear) { | 169 TEST(HostContentSettingsMapTest, Clear) { |
184 TestingProfile profile; | 170 TestingProfile profile; |
185 HostContentSettingsMap* host_content_settings_map = | 171 HostContentSettingsMap* host_content_settings_map = |
186 profile.GetHostContentSettingsMap(); | 172 profile.GetHostContentSettingsMap(); |
187 | 173 |
188 // Check clearing one type. | 174 // Check clearing one type. |
189 ContentSettingsPattern pattern = | 175 ContentSettingsPattern pattern = |
190 ContentSettingsPattern::FromString("[*.]example.org"); | 176 ContentSettingsPattern::FromString("[*.]example.org"); |
191 ContentSettingsPattern pattern2 = | 177 ContentSettingsPattern pattern2 = |
192 ContentSettingsPattern::FromString("[*.]example.net"); | 178 ContentSettingsPattern::FromString("[*.]example.net"); |
193 host_content_settings_map->SetContentSetting( | 179 host_content_settings_map->SetContentSetting( |
(...skipping 26 matching lines...) Expand all Loading... |
220 host_content_settings_map->GetSettingsForOneType( | 206 host_content_settings_map->GetSettingsForOneType( |
221 CONTENT_SETTINGS_TYPE_IMAGES, std::string(), &host_settings); | 207 CONTENT_SETTINGS_TYPE_IMAGES, std::string(), &host_settings); |
222 // |host_settings| contains only the default setting. | 208 // |host_settings| contains only the default setting. |
223 EXPECT_EQ(1U, host_settings.size()); | 209 EXPECT_EQ(1U, host_settings.size()); |
224 host_content_settings_map->GetSettingsForOneType( | 210 host_content_settings_map->GetSettingsForOneType( |
225 CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), &host_settings); | 211 CONTENT_SETTINGS_TYPE_PLUGINS, std::string(), &host_settings); |
226 // |host_settings| contains the default setting and an exception. | 212 // |host_settings| contains the default setting and an exception. |
227 EXPECT_EQ(2U, host_settings.size()); | 213 EXPECT_EQ(2U, host_settings.size()); |
228 } | 214 } |
229 | 215 |
230 TEST_F(HostContentSettingsMapTest, Patterns) { | 216 TEST(HostContentSettingsMapTest, Patterns) { |
231 TestingProfile profile; | 217 TestingProfile profile; |
232 HostContentSettingsMap* host_content_settings_map = | 218 HostContentSettingsMap* host_content_settings_map = |
233 profile.GetHostContentSettingsMap(); | 219 profile.GetHostContentSettingsMap(); |
234 | 220 |
235 GURL host1("http://example.com/"); | 221 GURL host1("http://example.com/"); |
236 GURL host2("http://www.example.com/"); | 222 GURL host2("http://www.example.com/"); |
237 GURL host3("http://example.org/"); | 223 GURL host3("http://example.org/"); |
238 ContentSettingsPattern pattern1 = | 224 ContentSettingsPattern pattern1 = |
239 ContentSettingsPattern::FromString("[*.]example.com"); | 225 ContentSettingsPattern::FromString("[*.]example.com"); |
240 ContentSettingsPattern pattern2 = | 226 ContentSettingsPattern pattern2 = |
(...skipping 20 matching lines...) Expand all Loading... |
261 pattern2, | 247 pattern2, |
262 ContentSettingsPattern::Wildcard(), | 248 ContentSettingsPattern::Wildcard(), |
263 CONTENT_SETTINGS_TYPE_IMAGES, | 249 CONTENT_SETTINGS_TYPE_IMAGES, |
264 std::string(), | 250 std::string(), |
265 CONTENT_SETTING_BLOCK); | 251 CONTENT_SETTING_BLOCK); |
266 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 252 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
267 host_content_settings_map->GetContentSetting( | 253 host_content_settings_map->GetContentSetting( |
268 host3, host3, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 254 host3, host3, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
269 } | 255 } |
270 | 256 |
271 TEST_F(HostContentSettingsMapTest, Observer) { | 257 TEST(HostContentSettingsMapTest, Observer) { |
272 TestingProfile profile; | 258 TestingProfile profile; |
273 HostContentSettingsMap* host_content_settings_map = | 259 HostContentSettingsMap* host_content_settings_map = |
274 profile.GetHostContentSettingsMap(); | 260 profile.GetHostContentSettingsMap(); |
275 MockSettingsObserver observer(host_content_settings_map); | 261 MockSettingsObserver observer(host_content_settings_map); |
276 | 262 |
277 ContentSettingsPattern primary_pattern = | 263 ContentSettingsPattern primary_pattern = |
278 ContentSettingsPattern::FromString("[*.]example.com"); | 264 ContentSettingsPattern::FromString("[*.]example.com"); |
279 ContentSettingsPattern secondary_pattern = | 265 ContentSettingsPattern secondary_pattern = |
280 ContentSettingsPattern::Wildcard(); | 266 ContentSettingsPattern::Wildcard(); |
281 EXPECT_CALL(observer, | 267 EXPECT_CALL(observer, |
(...skipping 20 matching lines...) Expand all Loading... |
302 ::testing::Mock::VerifyAndClearExpectations(&observer); | 288 ::testing::Mock::VerifyAndClearExpectations(&observer); |
303 | 289 |
304 EXPECT_CALL(observer, | 290 EXPECT_CALL(observer, |
305 OnContentSettingsChanged(host_content_settings_map, | 291 OnContentSettingsChanged(host_content_settings_map, |
306 CONTENT_SETTINGS_TYPE_IMAGES, false, | 292 CONTENT_SETTINGS_TYPE_IMAGES, false, |
307 _, _, true)); | 293 _, _, true)); |
308 host_content_settings_map->SetDefaultContentSetting( | 294 host_content_settings_map->SetDefaultContentSetting( |
309 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); | 295 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); |
310 } | 296 } |
311 | 297 |
312 TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) { | 298 TEST(HostContentSettingsMapTest, ObserveDefaultPref) { |
313 TestingProfile profile; | 299 TestingProfile profile; |
314 HostContentSettingsMap* host_content_settings_map = | 300 HostContentSettingsMap* host_content_settings_map = |
315 profile.GetHostContentSettingsMap(); | 301 profile.GetHostContentSettingsMap(); |
316 | 302 |
317 PrefService* prefs = profile.GetPrefs(); | 303 PrefService* prefs = profile.GetPrefs(); |
318 | 304 |
319 // Make a copy of the default pref value so we can reset it later. | 305 // Make a copy of the default pref value so we can reset it later. |
320 scoped_ptr<base::Value> default_value(prefs->FindPreference( | 306 scoped_ptr<base::Value> default_value(prefs->FindPreference( |
321 prefs::kDefaultContentSettings)->GetValue()->DeepCopy()); | 307 prefs::kDefaultContentSettings)->GetValue()->DeepCopy()); |
322 | 308 |
(...skipping 15 matching lines...) Expand all Loading... |
338 host_content_settings_map->GetContentSetting( | 324 host_content_settings_map->GetContentSetting( |
339 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 325 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
340 | 326 |
341 // Reseting the pref to its previous value should update the cache. | 327 // Reseting the pref to its previous value should update the cache. |
342 prefs->Set(prefs::kDefaultContentSettings, *new_value); | 328 prefs->Set(prefs::kDefaultContentSettings, *new_value); |
343 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 329 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
344 host_content_settings_map->GetContentSetting( | 330 host_content_settings_map->GetContentSetting( |
345 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 331 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
346 } | 332 } |
347 | 333 |
348 TEST_F(HostContentSettingsMapTest, ObserveExceptionPref) { | 334 TEST(HostContentSettingsMapTest, ObserveExceptionPref) { |
349 TestingProfile profile; | 335 TestingProfile profile; |
350 HostContentSettingsMap* host_content_settings_map = | 336 HostContentSettingsMap* host_content_settings_map = |
351 profile.GetHostContentSettingsMap(); | 337 profile.GetHostContentSettingsMap(); |
352 | 338 |
353 PrefService* prefs = profile.GetPrefs(); | 339 PrefService* prefs = profile.GetPrefs(); |
354 | 340 |
355 // Make a copy of the default pref value so we can reset it later. | 341 // Make a copy of the default pref value so we can reset it later. |
356 scoped_ptr<base::Value> default_value(prefs->FindPreference( | 342 scoped_ptr<base::Value> default_value(prefs->FindPreference( |
357 prefs::kContentSettingsPatternPairs)->GetValue()->DeepCopy()); | 343 prefs::kContentSettingsPatternPairs)->GetValue()->DeepCopy()); |
358 | 344 |
(...skipping 25 matching lines...) Expand all Loading... |
384 host_content_settings_map->GetContentSetting( | 370 host_content_settings_map->GetContentSetting( |
385 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 371 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
386 | 372 |
387 // Reseting the pref to its previous value should update the cache. | 373 // Reseting the pref to its previous value should update the cache. |
388 prefs->Set(prefs::kContentSettingsPatternPairs, *new_value); | 374 prefs->Set(prefs::kContentSettingsPatternPairs, *new_value); |
389 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 375 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
390 host_content_settings_map->GetContentSetting( | 376 host_content_settings_map->GetContentSetting( |
391 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 377 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
392 } | 378 } |
393 | 379 |
394 TEST_F(HostContentSettingsMapTest, HostTrimEndingDotCheck) { | 380 TEST(HostContentSettingsMapTest, HostTrimEndingDotCheck) { |
395 TestingProfile profile; | 381 TestingProfile profile; |
396 HostContentSettingsMap* host_content_settings_map = | 382 HostContentSettingsMap* host_content_settings_map = |
397 profile.GetHostContentSettingsMap(); | 383 profile.GetHostContentSettingsMap(); |
398 CookieSettings* cookie_settings = | 384 CookieSettings* cookie_settings = |
399 CookieSettings::Factory::GetForProfile(&profile).get(); | 385 CookieSettings::Factory::GetForProfile(&profile).get(); |
400 | 386 |
401 ContentSettingsPattern pattern = | 387 ContentSettingsPattern pattern = |
402 ContentSettingsPattern::FromString("[*.]example.com"); | 388 ContentSettingsPattern::FromString("[*.]example.com"); |
403 GURL host_ending_with_dot("http://example.com./"); | 389 GURL host_ending_with_dot("http://example.com./"); |
404 | 390 |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 std::string(), | 525 std::string(), |
540 CONTENT_SETTING_ALLOW); | 526 CONTENT_SETTING_ALLOW); |
541 EXPECT_EQ( | 527 EXPECT_EQ( |
542 CONTENT_SETTING_ALLOW, | 528 CONTENT_SETTING_ALLOW, |
543 host_content_settings_map->GetContentSetting(host_ending_with_dot, | 529 host_content_settings_map->GetContentSetting(host_ending_with_dot, |
544 host_ending_with_dot, | 530 host_ending_with_dot, |
545 CONTENT_SETTINGS_TYPE_POPUPS, | 531 CONTENT_SETTINGS_TYPE_POPUPS, |
546 std::string())); | 532 std::string())); |
547 } | 533 } |
548 | 534 |
549 TEST_F(HostContentSettingsMapTest, NestedSettings) { | 535 TEST(HostContentSettingsMapTest, NestedSettings) { |
550 TestingProfile profile; | 536 TestingProfile profile; |
551 HostContentSettingsMap* host_content_settings_map = | 537 HostContentSettingsMap* host_content_settings_map = |
552 profile.GetHostContentSettingsMap(); | 538 profile.GetHostContentSettingsMap(); |
553 | 539 |
554 GURL host("http://a.b.example.com/"); | 540 GURL host("http://a.b.example.com/"); |
555 ContentSettingsPattern pattern1 = | 541 ContentSettingsPattern pattern1 = |
556 ContentSettingsPattern::FromString("[*.]example.com"); | 542 ContentSettingsPattern::FromString("[*.]example.com"); |
557 ContentSettingsPattern pattern2 = | 543 ContentSettingsPattern pattern2 = |
558 ContentSettingsPattern::FromString("[*.]b.example.com"); | 544 ContentSettingsPattern::FromString("[*.]b.example.com"); |
559 ContentSettingsPattern pattern3 = | 545 ContentSettingsPattern pattern3 = |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
605 host_content_settings_map->GetContentSetting( | 591 host_content_settings_map->GetContentSetting( |
606 host, host, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string())); | 592 host, host, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string())); |
607 EXPECT_EQ(CONTENT_SETTING_ASK, | 593 EXPECT_EQ(CONTENT_SETTING_ASK, |
608 host_content_settings_map->GetContentSetting( | 594 host_content_settings_map->GetContentSetting( |
609 host, host, CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string())); | 595 host, host, CONTENT_SETTINGS_TYPE_FULLSCREEN, std::string())); |
610 EXPECT_EQ(CONTENT_SETTING_ASK, | 596 EXPECT_EQ(CONTENT_SETTING_ASK, |
611 host_content_settings_map->GetContentSetting( | 597 host_content_settings_map->GetContentSetting( |
612 host, host, CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string())); | 598 host, host, CONTENT_SETTINGS_TYPE_MOUSELOCK, std::string())); |
613 } | 599 } |
614 | 600 |
615 TEST_F(HostContentSettingsMapTest, OffTheRecord) { | 601 TEST(HostContentSettingsMapTest, OffTheRecord) { |
616 TestingProfile profile; | 602 TestingProfile profile; |
617 HostContentSettingsMap* host_content_settings_map = | 603 HostContentSettingsMap* host_content_settings_map = |
618 profile.GetHostContentSettingsMap(); | 604 profile.GetHostContentSettingsMap(); |
619 scoped_refptr<HostContentSettingsMap> otr_map( | 605 scoped_refptr<HostContentSettingsMap> otr_map( |
620 new HostContentSettingsMap(profile.GetPrefs(), | 606 new HostContentSettingsMap(profile.GetPrefs(), |
621 true)); | 607 true)); |
622 | 608 |
623 GURL host("http://example.com/"); | 609 GURL host("http://example.com/"); |
624 ContentSettingsPattern pattern = | 610 ContentSettingsPattern pattern = |
625 ContentSettingsPattern::FromString("[*.]example.com"); | 611 ContentSettingsPattern::FromString("[*.]example.com"); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 644 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
659 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 645 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
660 otr_map->GetContentSetting( | 646 otr_map->GetContentSetting( |
661 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 647 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
662 | 648 |
663 otr_map->ShutdownOnUIThread(); | 649 otr_map->ShutdownOnUIThread(); |
664 } | 650 } |
665 | 651 |
666 // For a single Unicode encoded pattern, check if it gets converted to punycode | 652 // For a single Unicode encoded pattern, check if it gets converted to punycode |
667 // and old pattern gets deleted. | 653 // and old pattern gets deleted. |
668 TEST_F(HostContentSettingsMapTest, CanonicalizeExceptionsUnicodeOnly) { | 654 TEST(HostContentSettingsMapTest, CanonicalizeExceptionsUnicodeOnly) { |
669 TestingProfile profile; | 655 TestingProfile profile; |
670 PrefService* prefs = profile.GetPrefs(); | 656 PrefService* prefs = profile.GetPrefs(); |
671 | 657 |
672 // Set utf-8 data. | 658 // Set utf-8 data. |
673 { | 659 { |
674 DictionaryPrefUpdate update(prefs, prefs::kContentSettingsPatternPairs); | 660 DictionaryPrefUpdate update(prefs, prefs::kContentSettingsPatternPairs); |
675 base::DictionaryValue* all_settings_dictionary = update.Get(); | 661 base::DictionaryValue* all_settings_dictionary = update.Get(); |
676 ASSERT_TRUE(NULL != all_settings_dictionary); | 662 ASSERT_TRUE(NULL != all_settings_dictionary); |
677 | 663 |
678 base::DictionaryValue* dummy_payload = new base::DictionaryValue; | 664 base::DictionaryValue* dummy_payload = new base::DictionaryValue; |
679 dummy_payload->SetInteger("images", CONTENT_SETTING_ALLOW); | 665 dummy_payload->SetInteger("images", CONTENT_SETTING_ALLOW); |
680 all_settings_dictionary->SetWithoutPathExpansion("[*.]\xC4\x87ira.com,*", | 666 all_settings_dictionary->SetWithoutPathExpansion("[*.]\xC4\x87ira.com,*", |
681 dummy_payload); | 667 dummy_payload); |
682 } | 668 } |
683 profile.GetHostContentSettingsMap(); | 669 profile.GetHostContentSettingsMap(); |
684 | 670 |
685 const base::DictionaryValue* all_settings_dictionary = | 671 const base::DictionaryValue* all_settings_dictionary = |
686 prefs->GetDictionary(prefs::kContentSettingsPatternPairs); | 672 prefs->GetDictionary(prefs::kContentSettingsPatternPairs); |
687 const base::DictionaryValue* result = NULL; | 673 const base::DictionaryValue* result = NULL; |
688 EXPECT_FALSE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( | 674 EXPECT_FALSE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( |
689 "[*.]\xC4\x87ira.com,*", &result)); | 675 "[*.]\xC4\x87ira.com,*", &result)); |
690 EXPECT_TRUE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( | 676 EXPECT_TRUE(all_settings_dictionary->GetDictionaryWithoutPathExpansion( |
691 "[*.]xn--ira-ppa.com,*", &result)); | 677 "[*.]xn--ira-ppa.com,*", &result)); |
692 } | 678 } |
693 | 679 |
694 // If both Unicode and its punycode pattern exist, make sure we don't touch the | 680 // If both Unicode and its punycode pattern exist, make sure we don't touch the |
695 // settings for the punycode, and that Unicode pattern gets deleted. | 681 // settings for the punycode, and that Unicode pattern gets deleted. |
696 TEST_F(HostContentSettingsMapTest, CanonicalizeExceptionsUnicodeAndPunycode) { | 682 TEST(HostContentSettingsMapTest, CanonicalizeExceptionsUnicodeAndPunycode) { |
697 TestingProfile profile; | 683 TestingProfile profile; |
698 | 684 |
699 scoped_ptr<base::Value> value(base::JSONReader::Read( | 685 scoped_ptr<base::Value> value(base::JSONReader::Read( |
700 "{\"[*.]\\xC4\\x87ira.com,*\":{\"images\":1}}")); | 686 "{\"[*.]\\xC4\\x87ira.com,*\":{\"images\":1}}")); |
701 profile.GetPrefs()->Set(prefs::kContentSettingsPatternPairs, *value); | 687 profile.GetPrefs()->Set(prefs::kContentSettingsPatternPairs, *value); |
702 | 688 |
703 // Set punycode equivalent, with different setting. | 689 // Set punycode equivalent, with different setting. |
704 scoped_ptr<base::Value> puny_value(base::JSONReader::Read( | 690 scoped_ptr<base::Value> puny_value(base::JSONReader::Read( |
705 "{\"[*.]xn--ira-ppa.com,*\":{\"images\":2}}")); | 691 "{\"[*.]xn--ira-ppa.com,*\":{\"images\":2}}")); |
706 profile.GetPrefs()->Set(prefs::kContentSettingsPatternPairs, *puny_value); | 692 profile.GetPrefs()->Set(prefs::kContentSettingsPatternPairs, *puny_value); |
707 | 693 |
708 // Initialize the content map. | 694 // Initialize the content map. |
709 profile.GetHostContentSettingsMap(); | 695 profile.GetHostContentSettingsMap(); |
710 | 696 |
711 const base::DictionaryValue* content_setting_prefs = | 697 const base::DictionaryValue* content_setting_prefs = |
712 profile.GetPrefs()->GetDictionary(prefs::kContentSettingsPatternPairs); | 698 profile.GetPrefs()->GetDictionary(prefs::kContentSettingsPatternPairs); |
713 std::string prefs_as_json; | 699 std::string prefs_as_json; |
714 base::JSONWriter::Write(content_setting_prefs, &prefs_as_json); | 700 base::JSONWriter::Write(content_setting_prefs, &prefs_as_json); |
715 EXPECT_STREQ("{\"[*.]xn--ira-ppa.com,*\":{\"images\":2}}", | 701 EXPECT_STREQ("{\"[*.]xn--ira-ppa.com,*\":{\"images\":2}}", |
716 prefs_as_json.c_str()); | 702 prefs_as_json.c_str()); |
717 } | 703 } |
718 | 704 |
719 // If a default-content-setting is managed, the managed value should be used | 705 // If a default-content-setting is managed, the managed value should be used |
720 // instead of the default value. | 706 // instead of the default value. |
721 TEST_F(HostContentSettingsMapTest, ManagedDefaultContentSetting) { | 707 TEST(HostContentSettingsMapTest, ManagedDefaultContentSetting) { |
722 TestingProfile profile; | 708 TestingProfile profile; |
723 HostContentSettingsMap* host_content_settings_map = | 709 HostContentSettingsMap* host_content_settings_map = |
724 profile.GetHostContentSettingsMap(); | 710 profile.GetHostContentSettingsMap(); |
725 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); | 711 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); |
726 | 712 |
727 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 713 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
728 host_content_settings_map->GetDefaultContentSetting( | 714 host_content_settings_map->GetDefaultContentSetting( |
729 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL)); | 715 CONTENT_SETTINGS_TYPE_JAVASCRIPT, NULL)); |
730 | 716 |
731 // Set managed-default-content-setting through the coresponding preferences. | 717 // Set managed-default-content-setting through the coresponding preferences. |
(...skipping 16 matching lines...) Expand all Loading... |
748 host_content_settings_map->GetDefaultContentSetting( | 734 host_content_settings_map->GetDefaultContentSetting( |
749 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); | 735 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); |
750 | 736 |
751 // Remove the preference to manage the default-content-setting for Plugins. | 737 // Remove the preference to manage the default-content-setting for Plugins. |
752 prefs->RemoveManagedPref(prefs::kManagedDefaultPluginsSetting); | 738 prefs->RemoveManagedPref(prefs::kManagedDefaultPluginsSetting); |
753 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 739 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
754 host_content_settings_map->GetDefaultContentSetting( | 740 host_content_settings_map->GetDefaultContentSetting( |
755 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); | 741 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); |
756 } | 742 } |
757 | 743 |
758 TEST_F(HostContentSettingsMapTest, | 744 TEST(HostContentSettingsMapTest, GetNonDefaultContentSettingsIfTypeManaged) { |
759 GetNonDefaultContentSettingsIfTypeManaged) { | |
760 TestingProfile profile; | 745 TestingProfile profile; |
761 HostContentSettingsMap* host_content_settings_map = | 746 HostContentSettingsMap* host_content_settings_map = |
762 profile.GetHostContentSettingsMap(); | 747 profile.GetHostContentSettingsMap(); |
763 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); | 748 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); |
764 | 749 |
765 // Set pattern for JavaScript setting. | 750 // Set pattern for JavaScript setting. |
766 ContentSettingsPattern pattern = | 751 ContentSettingsPattern pattern = |
767 ContentSettingsPattern::FromString("[*.]example.com"); | 752 ContentSettingsPattern::FromString("[*.]example.com"); |
768 host_content_settings_map->SetContentSetting( | 753 host_content_settings_map->SetContentSetting( |
769 pattern, | 754 pattern, |
(...skipping 14 matching lines...) Expand all Loading... |
784 // Set managed-default-content-setting for content-settings-type JavaScript. | 769 // Set managed-default-content-setting for content-settings-type JavaScript. |
785 prefs->SetManagedPref(prefs::kManagedDefaultJavaScriptSetting, | 770 prefs->SetManagedPref(prefs::kManagedDefaultJavaScriptSetting, |
786 new base::FundamentalValue(CONTENT_SETTING_ALLOW)); | 771 new base::FundamentalValue(CONTENT_SETTING_ALLOW)); |
787 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 772 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
788 host_content_settings_map->GetContentSetting( | 773 host_content_settings_map->GetContentSetting( |
789 host, host, CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string())); | 774 host, host, CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string())); |
790 } | 775 } |
791 | 776 |
792 // Managed default content setting should have higher priority | 777 // Managed default content setting should have higher priority |
793 // than user defined patterns. | 778 // than user defined patterns. |
794 TEST_F(HostContentSettingsMapTest, | 779 TEST(HostContentSettingsMapTest, |
795 ManagedDefaultContentSettingIgnoreUserPattern) { | 780 ManagedDefaultContentSettingIgnoreUserPattern) { |
796 TestingProfile profile; | 781 TestingProfile profile; |
797 HostContentSettingsMap* host_content_settings_map = | 782 HostContentSettingsMap* host_content_settings_map = |
798 profile.GetHostContentSettingsMap(); | 783 profile.GetHostContentSettingsMap(); |
799 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); | 784 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); |
800 | 785 |
801 // Block all JavaScript. | 786 // Block all JavaScript. |
802 host_content_settings_map->SetDefaultContentSetting( | 787 host_content_settings_map->SetDefaultContentSetting( |
803 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK); | 788 CONTENT_SETTINGS_TYPE_JAVASCRIPT, CONTENT_SETTING_BLOCK); |
804 | 789 |
805 // Set an exception to allow "[*.]example.com" | 790 // Set an exception to allow "[*.]example.com" |
(...skipping 24 matching lines...) Expand all Loading... |
830 | 815 |
831 // Remove managed-default-content-settings-preferences. | 816 // Remove managed-default-content-settings-preferences. |
832 prefs->RemoveManagedPref(prefs::kManagedDefaultJavaScriptSetting); | 817 prefs->RemoveManagedPref(prefs::kManagedDefaultJavaScriptSetting); |
833 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 818 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
834 host_content_settings_map->GetContentSetting( | 819 host_content_settings_map->GetContentSetting( |
835 host, host, CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string())); | 820 host, host, CONTENT_SETTINGS_TYPE_JAVASCRIPT, std::string())); |
836 } | 821 } |
837 | 822 |
838 // If a default-content-setting is set to managed setting, the user defined | 823 // If a default-content-setting is set to managed setting, the user defined |
839 // setting should be preserved. | 824 // setting should be preserved. |
840 TEST_F(HostContentSettingsMapTest, OverwrittenDefaultContentSetting) { | 825 TEST(HostContentSettingsMapTest, OverwrittenDefaultContentSetting) { |
841 TestingProfile profile; | 826 TestingProfile profile; |
842 HostContentSettingsMap* host_content_settings_map = | 827 HostContentSettingsMap* host_content_settings_map = |
843 profile.GetHostContentSettingsMap(); | 828 profile.GetHostContentSettingsMap(); |
844 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); | 829 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); |
845 | 830 |
846 // Set user defined default-content-setting for Cookies. | 831 // Set user defined default-content-setting for Cookies. |
847 host_content_settings_map->SetDefaultContentSetting( | 832 host_content_settings_map->SetDefaultContentSetting( |
848 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); | 833 CONTENT_SETTINGS_TYPE_COOKIES, CONTENT_SETTING_BLOCK); |
849 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 834 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
850 host_content_settings_map->GetDefaultContentSetting( | 835 host_content_settings_map->GetDefaultContentSetting( |
851 CONTENT_SETTINGS_TYPE_COOKIES, NULL)); | 836 CONTENT_SETTINGS_TYPE_COOKIES, NULL)); |
852 | 837 |
853 // Set preference to manage the default-content-setting for Cookies. | 838 // Set preference to manage the default-content-setting for Cookies. |
854 prefs->SetManagedPref(prefs::kManagedDefaultCookiesSetting, | 839 prefs->SetManagedPref(prefs::kManagedDefaultCookiesSetting, |
855 new base::FundamentalValue(CONTENT_SETTING_ALLOW)); | 840 new base::FundamentalValue(CONTENT_SETTING_ALLOW)); |
856 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 841 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
857 host_content_settings_map->GetDefaultContentSetting( | 842 host_content_settings_map->GetDefaultContentSetting( |
858 CONTENT_SETTINGS_TYPE_COOKIES, NULL)); | 843 CONTENT_SETTINGS_TYPE_COOKIES, NULL)); |
859 | 844 |
860 // Remove the preference to manage the default-content-setting for Cookies. | 845 // Remove the preference to manage the default-content-setting for Cookies. |
861 prefs->RemoveManagedPref(prefs::kManagedDefaultCookiesSetting); | 846 prefs->RemoveManagedPref(prefs::kManagedDefaultCookiesSetting); |
862 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 847 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
863 host_content_settings_map->GetDefaultContentSetting( | 848 host_content_settings_map->GetDefaultContentSetting( |
864 CONTENT_SETTINGS_TYPE_COOKIES, NULL)); | 849 CONTENT_SETTINGS_TYPE_COOKIES, NULL)); |
865 } | 850 } |
866 | 851 |
867 // If a setting for a default-content-setting-type is set while the type is | 852 // If a setting for a default-content-setting-type is set while the type is |
868 // managed, then the new setting should be preserved and used after the | 853 // managed, then the new setting should be preserved and used after the |
869 // default-content-setting-type is not managed anymore. | 854 // default-content-setting-type is not managed anymore. |
870 TEST_F(HostContentSettingsMapTest, SettingDefaultContentSettingsWhenManaged) { | 855 TEST(HostContentSettingsMapTest, SettingDefaultContentSettingsWhenManaged) { |
871 TestingProfile profile; | 856 TestingProfile profile; |
872 HostContentSettingsMap* host_content_settings_map = | 857 HostContentSettingsMap* host_content_settings_map = |
873 profile.GetHostContentSettingsMap(); | 858 profile.GetHostContentSettingsMap(); |
874 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); | 859 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); |
875 | 860 |
876 prefs->SetManagedPref(prefs::kManagedDefaultPluginsSetting, | 861 prefs->SetManagedPref(prefs::kManagedDefaultPluginsSetting, |
877 new base::FundamentalValue(CONTENT_SETTING_ALLOW)); | 862 new base::FundamentalValue(CONTENT_SETTING_ALLOW)); |
878 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 863 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
879 host_content_settings_map->GetDefaultContentSetting( | 864 host_content_settings_map->GetDefaultContentSetting( |
880 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); | 865 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); |
881 | 866 |
882 host_content_settings_map->SetDefaultContentSetting( | 867 host_content_settings_map->SetDefaultContentSetting( |
883 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK); | 868 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_BLOCK); |
884 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 869 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
885 host_content_settings_map->GetDefaultContentSetting( | 870 host_content_settings_map->GetDefaultContentSetting( |
886 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); | 871 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); |
887 | 872 |
888 prefs->RemoveManagedPref(prefs::kManagedDefaultPluginsSetting); | 873 prefs->RemoveManagedPref(prefs::kManagedDefaultPluginsSetting); |
889 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 874 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
890 host_content_settings_map->GetDefaultContentSetting( | 875 host_content_settings_map->GetDefaultContentSetting( |
891 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); | 876 CONTENT_SETTINGS_TYPE_PLUGINS, NULL)); |
892 } | 877 } |
893 | 878 |
894 TEST_F(HostContentSettingsMapTest, GetContentSetting) { | 879 TEST(HostContentSettingsMapTest, GetContentSetting) { |
895 TestingProfile profile; | 880 TestingProfile profile; |
896 HostContentSettingsMap* host_content_settings_map = | 881 HostContentSettingsMap* host_content_settings_map = |
897 profile.GetHostContentSettingsMap(); | 882 profile.GetHostContentSettingsMap(); |
898 | 883 |
899 GURL host("http://example.com/"); | 884 GURL host("http://example.com/"); |
900 GURL embedder("chrome://foo"); | 885 GURL embedder("chrome://foo"); |
901 ContentSettingsPattern pattern = | 886 ContentSettingsPattern pattern = |
902 ContentSettingsPattern::FromString("[*.]example.com"); | 887 ContentSettingsPattern::FromString("[*.]example.com"); |
903 host_content_settings_map->SetContentSetting( | 888 host_content_settings_map->SetContentSetting( |
904 pattern, | 889 pattern, |
905 ContentSettingsPattern::Wildcard(), | 890 ContentSettingsPattern::Wildcard(), |
906 CONTENT_SETTINGS_TYPE_IMAGES, | 891 CONTENT_SETTINGS_TYPE_IMAGES, |
907 std::string(), | 892 std::string(), |
908 CONTENT_SETTING_BLOCK); | 893 CONTENT_SETTING_BLOCK); |
909 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 894 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
910 host_content_settings_map->GetContentSetting( | 895 host_content_settings_map->GetContentSetting( |
911 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 896 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
912 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 897 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
913 host_content_settings_map->GetContentSetting( | 898 host_content_settings_map->GetContentSetting( |
914 embedder, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 899 embedder, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
915 } | 900 } |
916 | 901 |
917 TEST_F(HostContentSettingsMapTest, ShouldAllowAllContent) { | 902 TEST(HostContentSettingsMapTest, ShouldAllowAllContent) { |
918 TestingProfile profile; | 903 TestingProfile profile; |
919 HostContentSettingsMap* host_content_settings_map = | 904 HostContentSettingsMap* host_content_settings_map = |
920 profile.GetHostContentSettingsMap(); | 905 profile.GetHostContentSettingsMap(); |
921 | 906 |
922 GURL http_host("http://example.com/"); | 907 GURL http_host("http://example.com/"); |
923 GURL https_host("https://example.com/"); | 908 GURL https_host("https://example.com/"); |
924 GURL embedder("chrome://foo"); | 909 GURL embedder("chrome://foo"); |
925 GURL extension("chrome-extension://foo"); | 910 GURL extension("chrome-extension://foo"); |
926 EXPECT_FALSE(host_content_settings_map->ShouldAllowAllContent( | 911 EXPECT_FALSE(host_content_settings_map->ShouldAllowAllContent( |
927 http_host, embedder, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); | 912 http_host, embedder, CONTENT_SETTINGS_TYPE_NOTIFICATIONS)); |
(...skipping 13 matching lines...) Expand all Loading... |
941 #else | 926 #else |
942 EXPECT_FALSE(host_content_settings_map->ShouldAllowAllContent( | 927 EXPECT_FALSE(host_content_settings_map->ShouldAllowAllContent( |
943 extension, extension, CONTENT_SETTINGS_TYPE_COOKIES)); | 928 extension, extension, CONTENT_SETTINGS_TYPE_COOKIES)); |
944 #endif | 929 #endif |
945 EXPECT_FALSE(host_content_settings_map->ShouldAllowAllContent( | 930 EXPECT_FALSE(host_content_settings_map->ShouldAllowAllContent( |
946 extension, extension, CONTENT_SETTINGS_TYPE_PLUGINS)); | 931 extension, extension, CONTENT_SETTINGS_TYPE_PLUGINS)); |
947 EXPECT_FALSE(host_content_settings_map->ShouldAllowAllContent( | 932 EXPECT_FALSE(host_content_settings_map->ShouldAllowAllContent( |
948 extension, http_host, CONTENT_SETTINGS_TYPE_COOKIES)); | 933 extension, http_host, CONTENT_SETTINGS_TYPE_COOKIES)); |
949 } | 934 } |
950 | 935 |
951 TEST_F(HostContentSettingsMapTest, MigrateClearOnExit) { | 936 TEST(HostContentSettingsMapTest, MigrateClearOnExit) { |
952 TestingProfile profile; | 937 TestingProfile profile; |
953 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); | 938 TestingPrefServiceSyncable* prefs = profile.GetTestingPrefService(); |
954 | 939 |
955 prefs->SetBoolean(prefs::kClearSiteDataOnExit, true); | 940 prefs->SetBoolean(prefs::kClearSiteDataOnExit, true); |
956 | 941 |
957 scoped_ptr<base::Value> patterns(base::JSONReader::Read( | 942 scoped_ptr<base::Value> patterns(base::JSONReader::Read( |
958 "{\"[*.]example.com,*\":{\"cookies\": 1}," | 943 "{\"[*.]example.com,*\":{\"cookies\": 1}," |
959 " \"[*.]other.com,*\":{\"cookies\": 2}," | 944 " \"[*.]other.com,*\":{\"cookies\": 2}," |
960 " \"[*.]third.com,*\":{\"cookies\": 4}}")); | 945 " \"[*.]third.com,*\":{\"cookies\": 4}}")); |
961 profile.GetPrefs()->Set(prefs::kContentSettingsPatternPairs, *patterns); | 946 profile.GetPrefs()->Set(prefs::kContentSettingsPatternPairs, *patterns); |
(...skipping 20 matching lines...) Expand all Loading... |
982 CONTENT_SETTINGS_TYPE_COOKIES, | 967 CONTENT_SETTINGS_TYPE_COOKIES, |
983 std::string())); | 968 std::string())); |
984 EXPECT_EQ(CONTENT_SETTING_SESSION_ONLY, | 969 EXPECT_EQ(CONTENT_SETTING_SESSION_ONLY, |
985 host_content_settings_map->GetContentSetting( | 970 host_content_settings_map->GetContentSetting( |
986 GURL("http://third.com"), | 971 GURL("http://third.com"), |
987 GURL("http://third.com"), | 972 GURL("http://third.com"), |
988 CONTENT_SETTINGS_TYPE_COOKIES, | 973 CONTENT_SETTINGS_TYPE_COOKIES, |
989 std::string())); | 974 std::string())); |
990 } | 975 } |
991 | 976 |
992 TEST_F(HostContentSettingsMapTest, AddContentSettingsObserver) { | 977 TEST(HostContentSettingsMapTest, AddContentSettingsObserver) { |
993 TestingProfile profile; | 978 TestingProfile profile; |
994 HostContentSettingsMap* host_content_settings_map = | 979 HostContentSettingsMap* host_content_settings_map = |
995 profile.GetHostContentSettingsMap(); | 980 profile.GetHostContentSettingsMap(); |
996 content_settings::MockObserver mock_observer; | 981 content_settings::MockObserver mock_observer; |
997 | 982 |
998 GURL host("http://example.com/"); | 983 GURL host("http://example.com/"); |
999 ContentSettingsPattern pattern = | 984 ContentSettingsPattern pattern = |
1000 ContentSettingsPattern::FromString("[*.]example.com"); | 985 ContentSettingsPattern::FromString("[*.]example.com"); |
1001 EXPECT_CALL(mock_observer, | 986 EXPECT_CALL(mock_observer, |
1002 OnContentSettingChanged(pattern, | 987 OnContentSettingChanged(pattern, |
1003 ContentSettingsPattern::Wildcard(), | 988 ContentSettingsPattern::Wildcard(), |
1004 CONTENT_SETTINGS_TYPE_IMAGES, | 989 CONTENT_SETTINGS_TYPE_IMAGES, |
1005 "")); | 990 "")); |
1006 | 991 |
1007 host_content_settings_map->AddObserver(&mock_observer); | 992 host_content_settings_map->AddObserver(&mock_observer); |
1008 | 993 |
1009 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 994 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
1010 host_content_settings_map->GetContentSetting( | 995 host_content_settings_map->GetContentSetting( |
1011 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 996 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
1012 host_content_settings_map->SetContentSetting( | 997 host_content_settings_map->SetContentSetting( |
1013 pattern, | 998 pattern, |
1014 ContentSettingsPattern::Wildcard(), | 999 ContentSettingsPattern::Wildcard(), |
1015 CONTENT_SETTINGS_TYPE_IMAGES, | 1000 CONTENT_SETTINGS_TYPE_IMAGES, |
1016 std::string(), | 1001 std::string(), |
1017 CONTENT_SETTING_DEFAULT); | 1002 CONTENT_SETTING_DEFAULT); |
1018 } | 1003 } |
1019 | 1004 |
1020 TEST_F(HostContentSettingsMapTest, OverrideAllowedWebsiteSetting) { | 1005 TEST(HostContentSettingsMapTest, OverrideAllowedWebsiteSetting) { |
1021 TestingProfile profile; | 1006 TestingProfile profile; |
1022 HostContentSettingsMap* host_content_settings_map = | 1007 HostContentSettingsMap* host_content_settings_map = |
1023 profile.GetHostContentSettingsMap(); | 1008 profile.GetHostContentSettingsMap(); |
1024 GURL host("http://example.com/"); | 1009 GURL host("http://example.com/"); |
1025 ContentSettingsPattern pattern = | 1010 ContentSettingsPattern pattern = |
1026 ContentSettingsPattern::FromString("[*.]example.com"); | 1011 ContentSettingsPattern::FromString("[*.]example.com"); |
1027 host_content_settings_map->SetContentSetting( | 1012 host_content_settings_map->SetContentSetting( |
1028 pattern, | 1013 pattern, |
1029 ContentSettingsPattern::Wildcard(), | 1014 ContentSettingsPattern::Wildcard(), |
1030 CONTENT_SETTINGS_TYPE_GEOLOCATION, | 1015 CONTENT_SETTINGS_TYPE_GEOLOCATION, |
(...skipping 11 matching lines...) Expand all Loading... |
1042 host_content_settings_map->GetContentSetting( | 1027 host_content_settings_map->GetContentSetting( |
1043 host, host, CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string())); | 1028 host, host, CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string())); |
1044 | 1029 |
1045 host_content_settings_map->SetContentSettingOverride( | 1030 host_content_settings_map->SetContentSettingOverride( |
1046 CONTENT_SETTINGS_TYPE_GEOLOCATION, true); | 1031 CONTENT_SETTINGS_TYPE_GEOLOCATION, true); |
1047 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1032 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
1048 host_content_settings_map->GetContentSetting( | 1033 host_content_settings_map->GetContentSetting( |
1049 host, host, CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string())); | 1034 host, host, CONTENT_SETTINGS_TYPE_GEOLOCATION, std::string())); |
1050 } | 1035 } |
1051 | 1036 |
1052 TEST_F(HostContentSettingsMapTest, OverrideAllowedDefaultSetting) { | 1037 TEST(HostContentSettingsMapTest, OverrideAllowedDefaultSetting) { |
1053 TestingProfile profile; | 1038 TestingProfile profile; |
1054 HostContentSettingsMap* host_content_settings_map = | 1039 HostContentSettingsMap* host_content_settings_map = |
1055 profile.GetHostContentSettingsMap(); | 1040 profile.GetHostContentSettingsMap(); |
1056 | 1041 |
1057 // Check setting defaults. | 1042 // Check setting defaults. |
1058 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1043 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
1059 host_content_settings_map->GetDefaultContentSetting( | 1044 host_content_settings_map->GetDefaultContentSetting( |
1060 CONTENT_SETTINGS_TYPE_IMAGES, NULL)); | 1045 CONTENT_SETTINGS_TYPE_IMAGES, NULL)); |
1061 | 1046 |
1062 GURL host("http://example.com/"); | 1047 GURL host("http://example.com/"); |
(...skipping 13 matching lines...) Expand all Loading... |
1076 CONTENT_SETTINGS_TYPE_IMAGES, true); | 1061 CONTENT_SETTINGS_TYPE_IMAGES, true); |
1077 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 1062 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
1078 host_content_settings_map->GetContentSetting( | 1063 host_content_settings_map->GetContentSetting( |
1079 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 1064 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
1080 host_content_settings_map->SetDefaultContentSetting( | 1065 host_content_settings_map->SetDefaultContentSetting( |
1081 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); | 1066 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); |
1082 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 1067 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
1083 host_content_settings_map->GetContentSetting( | 1068 host_content_settings_map->GetContentSetting( |
1084 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); | 1069 host, host, CONTENT_SETTINGS_TYPE_IMAGES, std::string())); |
1085 } | 1070 } |
OLD | NEW |