| OLD | NEW |
| 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 "chrome/browser/content_settings/host_content_settings_map.h" | 5 #include "chrome/browser/content_settings/host_content_settings_map.h" |
| 6 | 6 |
| 7 #include <list> | 7 #include <list> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 // The order in which the content settings providers are created is critical, | 107 // The order in which the content settings providers are created is critical, |
| 108 // as providers that are further up in the list (i.e. added earlier) override | 108 // as providers that are further up in the list (i.e. added earlier) override |
| 109 // providers further down. | 109 // providers further down. |
| 110 content_settings_providers_.push_back(make_linked_ptr( | 110 content_settings_providers_.push_back(make_linked_ptr( |
| 111 new content_settings::PolicyProvider(profile, policy_default_provider))); | 111 new content_settings::PolicyProvider(profile, policy_default_provider))); |
| 112 ExtensionService* extension_service = profile->GetExtensionService(); | 112 ExtensionService* extension_service = profile->GetExtensionService(); |
| 113 if (extension_service) { | 113 if (extension_service) { |
| 114 // |extension_service| can be NULL in unit tests. | 114 // |extension_service| can be NULL in unit tests. |
| 115 content_settings_providers_.push_back(make_linked_ptr( | 115 content_settings_providers_.push_back(make_linked_ptr( |
| 116 new content_settings::ExtensionProvider( | 116 new content_settings::ExtensionProvider( |
| 117 profile, | 117 this, |
| 118 extension_service->GetExtensionContentSettingsStore(), | 118 extension_service->GetExtensionContentSettingsStore(), |
| 119 is_off_the_record_))); | 119 is_off_the_record_))); |
| 120 } | 120 } |
| 121 content_settings_providers_.push_back( | 121 content_settings_providers_.push_back( |
| 122 make_linked_ptr(new content_settings::PrefProvider(profile))); | 122 make_linked_ptr(new content_settings::PrefProvider(profile))); |
| 123 | 123 |
| 124 pref_change_registrar_.Init(prefs); | 124 pref_change_registrar_.Init(prefs); |
| 125 pref_change_registrar_.Add(prefs::kBlockThirdPartyCookies, this); | 125 pref_change_registrar_.Add(prefs::kBlockThirdPartyCookies, this); |
| 126 notification_registrar_.Add(this, NotificationType::PROFILE_DESTROYED, | 126 notification_registrar_.Add(this, NotificationType::PROFILE_DESTROYED, |
| 127 Source<Profile>(profile_)); | 127 Source<Profile>(profile_)); |
| (...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 517 ContentSettingsType content_type) const { | 517 ContentSettingsType content_type) const { |
| 518 for (ConstDefaultProviderIterator provider = | 518 for (ConstDefaultProviderIterator provider = |
| 519 default_content_settings_providers_.begin(); | 519 default_content_settings_providers_.begin(); |
| 520 provider != default_content_settings_providers_.end(); ++provider) { | 520 provider != default_content_settings_providers_.end(); ++provider) { |
| 521 if ((*provider)->DefaultSettingIsManaged(content_type)) | 521 if ((*provider)->DefaultSettingIsManaged(content_type)) |
| 522 return true; | 522 return true; |
| 523 } | 523 } |
| 524 return false; | 524 return false; |
| 525 } | 525 } |
| 526 | 526 |
| 527 void HostContentSettingsMap::ShutdownOnUIThread() { |
| 528 for (ProviderIterator it = content_settings_providers_.begin(); |
| 529 it != content_settings_providers_.end(); |
| 530 ++it) { |
| 531 (*it)->ShutdownOnUIThread(); |
| 532 } |
| 533 } |
| 534 |
| 527 void HostContentSettingsMap::UnregisterObservers() { | 535 void HostContentSettingsMap::UnregisterObservers() { |
| 528 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 536 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 529 if (!profile_) | 537 if (!profile_) |
| 530 return; | 538 return; |
| 531 pref_change_registrar_.RemoveAll(); | 539 pref_change_registrar_.RemoveAll(); |
| 532 notification_registrar_.Remove(this, NotificationType::PROFILE_DESTROYED, | 540 notification_registrar_.Remove(this, NotificationType::PROFILE_DESTROYED, |
| 533 Source<Profile>(profile_)); | 541 Source<Profile>(profile_)); |
| 534 profile_ = NULL; | 542 profile_ = NULL; |
| 535 } | 543 } |
| 536 | 544 |
| 537 void HostContentSettingsMap::MigrateObsoleteCookiePref(PrefService* prefs) { | 545 void HostContentSettingsMap::MigrateObsoleteCookiePref(PrefService* prefs) { |
| 538 if (prefs->HasPrefPath(prefs::kCookieBehavior)) { | 546 if (prefs->HasPrefPath(prefs::kCookieBehavior)) { |
| 539 int cookie_behavior = prefs->GetInteger(prefs::kCookieBehavior); | 547 int cookie_behavior = prefs->GetInteger(prefs::kCookieBehavior); |
| 540 prefs->ClearPref(prefs::kCookieBehavior); | 548 prefs->ClearPref(prefs::kCookieBehavior); |
| 541 if (!prefs->HasPrefPath(prefs::kDefaultContentSettings)) { | 549 if (!prefs->HasPrefPath(prefs::kDefaultContentSettings)) { |
| 542 SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES, | 550 SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES, |
| 543 (cookie_behavior == net::StaticCookiePolicy::BLOCK_ALL_COOKIES) ? | 551 (cookie_behavior == net::StaticCookiePolicy::BLOCK_ALL_COOKIES) ? |
| 544 CONTENT_SETTING_BLOCK : CONTENT_SETTING_ALLOW); | 552 CONTENT_SETTING_BLOCK : CONTENT_SETTING_ALLOW); |
| 545 } | 553 } |
| 546 if (!prefs->HasPrefPath(prefs::kBlockThirdPartyCookies)) { | 554 if (!prefs->HasPrefPath(prefs::kBlockThirdPartyCookies)) { |
| 547 SetBlockThirdPartyCookies(cookie_behavior == | 555 SetBlockThirdPartyCookies(cookie_behavior == |
| 548 net::StaticCookiePolicy::BLOCK_SETTING_THIRD_PARTY_COOKIES); | 556 net::StaticCookiePolicy::BLOCK_SETTING_THIRD_PARTY_COOKIES); |
| 549 } | 557 } |
| 550 } | 558 } |
| 551 } | 559 } |
| OLD | NEW |