OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/host_content_settings_map.h" | 5 #include "chrome/browser/host_content_settings_map.h" |
6 | 6 |
7 #include "chrome/browser/pref_service.h" | 7 #include "chrome/browser/pref_service.h" |
8 #include "chrome/common/notification_registrar.h" | 8 #include "chrome/common/notification_registrar.h" |
9 #include "chrome/common/notification_service.h" | 9 #include "chrome/common/notification_service.h" |
10 #include "chrome/common/pref_names.h" | 10 #include "chrome/common/pref_names.h" |
(...skipping 24 matching lines...) Expand all Loading... |
35 virtual void Observe(NotificationType type, | 35 virtual void Observe(NotificationType type, |
36 const NotificationSource& source, | 36 const NotificationSource& source, |
37 const NotificationDetails& details) { | 37 const NotificationDetails& details) { |
38 ++counter; | 38 ++counter; |
39 Source<HostContentSettingsMap> content_settings(source); | 39 Source<HostContentSettingsMap> content_settings(source); |
40 Details<HostContentSettingsMap::ContentSettingsDetails> | 40 Details<HostContentSettingsMap::ContentSettingsDetails> |
41 settings_details(details); | 41 settings_details(details); |
42 last_notifier = content_settings.ptr(); | 42 last_notifier = content_settings.ptr(); |
43 last_pattern = settings_details.ptr()->pattern(); | 43 last_pattern = settings_details.ptr()->pattern(); |
44 last_update_all = settings_details.ptr()->update_all(); | 44 last_update_all = settings_details.ptr()->update_all(); |
| 45 last_update_all_types = settings_details.ptr()->update_all_types(); |
45 // This checks that calling a Get function from an observer doesn't | 46 // This checks that calling a Get function from an observer doesn't |
46 // deadlock. | 47 // deadlock. |
47 last_notifier->GetContentSettings(GURL("http://random-hostname.com/")); | 48 last_notifier->GetContentSettings(GURL("http://random-hostname.com/")); |
48 } | 49 } |
49 | 50 |
50 HostContentSettingsMap* last_notifier; | 51 HostContentSettingsMap* last_notifier; |
51 HostContentSettingsMap::Pattern last_pattern; | 52 HostContentSettingsMap::Pattern last_pattern; |
52 bool last_update_all; | 53 bool last_update_all; |
| 54 bool last_update_all_types; |
53 int counter; | 55 int counter; |
54 | 56 |
55 private: | 57 private: |
56 NotificationRegistrar registrar_; | 58 NotificationRegistrar registrar_; |
57 }; | 59 }; |
58 | 60 |
59 class HostContentSettingsMapTest : public testing::Test { | 61 class HostContentSettingsMapTest : public testing::Test { |
60 public: | 62 public: |
61 HostContentSettingsMapTest() : ui_thread_(ChromeThread::UI, &message_loop_) {} | 63 HostContentSettingsMapTest() : ui_thread_(ChromeThread::UI, &message_loop_) {} |
62 | 64 |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 HostContentSettingsMap* host_content_settings_map = | 245 HostContentSettingsMap* host_content_settings_map = |
244 profile.GetHostContentSettingsMap(); | 246 profile.GetHostContentSettingsMap(); |
245 StubSettingsObserver observer; | 247 StubSettingsObserver observer; |
246 | 248 |
247 HostContentSettingsMap::Pattern pattern("[*.]example.com"); | 249 HostContentSettingsMap::Pattern pattern("[*.]example.com"); |
248 host_content_settings_map->SetContentSetting(pattern, | 250 host_content_settings_map->SetContentSetting(pattern, |
249 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_ALLOW); | 251 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_ALLOW); |
250 EXPECT_EQ(host_content_settings_map, observer.last_notifier); | 252 EXPECT_EQ(host_content_settings_map, observer.last_notifier); |
251 EXPECT_EQ(pattern, observer.last_pattern); | 253 EXPECT_EQ(pattern, observer.last_pattern); |
252 EXPECT_FALSE(observer.last_update_all); | 254 EXPECT_FALSE(observer.last_update_all); |
| 255 EXPECT_FALSE(observer.last_update_all_types); |
253 EXPECT_EQ(1, observer.counter); | 256 EXPECT_EQ(1, observer.counter); |
254 | 257 |
255 host_content_settings_map->ClearSettingsForOneType( | 258 host_content_settings_map->ClearSettingsForOneType( |
256 CONTENT_SETTINGS_TYPE_IMAGES); | 259 CONTENT_SETTINGS_TYPE_IMAGES); |
257 EXPECT_EQ(host_content_settings_map, observer.last_notifier); | 260 EXPECT_EQ(host_content_settings_map, observer.last_notifier); |
258 EXPECT_TRUE(observer.last_update_all); | 261 EXPECT_TRUE(observer.last_update_all); |
| 262 EXPECT_FALSE(observer.last_update_all_types); |
259 EXPECT_EQ(2, observer.counter); | 263 EXPECT_EQ(2, observer.counter); |
260 | 264 |
261 host_content_settings_map->ResetToDefaults(); | 265 host_content_settings_map->ResetToDefaults(); |
262 EXPECT_EQ(host_content_settings_map, observer.last_notifier); | 266 EXPECT_EQ(host_content_settings_map, observer.last_notifier); |
263 EXPECT_TRUE(observer.last_update_all); | 267 EXPECT_TRUE(observer.last_update_all); |
| 268 EXPECT_TRUE(observer.last_update_all_types); |
264 EXPECT_EQ(3, observer.counter); | 269 EXPECT_EQ(3, observer.counter); |
265 | 270 |
266 host_content_settings_map->SetDefaultContentSetting( | 271 host_content_settings_map->SetDefaultContentSetting( |
267 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); | 272 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); |
268 EXPECT_EQ(host_content_settings_map, observer.last_notifier); | 273 EXPECT_EQ(host_content_settings_map, observer.last_notifier); |
269 EXPECT_TRUE(observer.last_update_all); | 274 EXPECT_TRUE(observer.last_update_all); |
| 275 EXPECT_FALSE(observer.last_update_all_types); |
270 EXPECT_EQ(4, observer.counter); | 276 EXPECT_EQ(4, observer.counter); |
271 } | 277 } |
272 | 278 |
273 TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) { | 279 TEST_F(HostContentSettingsMapTest, ObserveDefaultPref) { |
274 TestingProfile profile; | 280 TestingProfile profile; |
275 HostContentSettingsMap* host_content_settings_map = | 281 HostContentSettingsMap* host_content_settings_map = |
276 profile.GetHostContentSettingsMap(); | 282 profile.GetHostContentSettingsMap(); |
277 | 283 |
278 PrefService* prefs = profile.GetPrefs(); | 284 PrefService* prefs = profile.GetPrefs(); |
279 | 285 |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
509 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_ALLOW); | 515 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_ALLOW); |
510 EXPECT_EQ(CONTENT_SETTING_BLOCK, | 516 EXPECT_EQ(CONTENT_SETTING_BLOCK, |
511 host_content_settings_map->GetContentSetting( | 517 host_content_settings_map->GetContentSetting( |
512 host, CONTENT_SETTINGS_TYPE_IMAGES)); | 518 host, CONTENT_SETTINGS_TYPE_IMAGES)); |
513 EXPECT_EQ(CONTENT_SETTING_ALLOW, | 519 EXPECT_EQ(CONTENT_SETTING_ALLOW, |
514 otr_map->GetContentSetting( | 520 otr_map->GetContentSetting( |
515 host, CONTENT_SETTINGS_TYPE_IMAGES)); | 521 host, CONTENT_SETTINGS_TYPE_IMAGES)); |
516 } | 522 } |
517 | 523 |
518 } // namespace | 524 } // namespace |
OLD | NEW |