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

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

Issue 1312453005: Removed Profile::GetHostContentSettingsMap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed patch conflict Created 5 years, 3 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 "chrome/browser/content_settings/cookie_settings_factory.h" 5 #include "chrome/browser/content_settings/cookie_settings_factory.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
9 #include "chrome/browser/profiles/incognito_helpers.h" 10 #include "chrome/browser/profiles/incognito_helpers.h"
10 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
11 #include "components/content_settings/core/browser/cookie_settings.h" 12 #include "components/content_settings/core/browser/cookie_settings.h"
12 #include "components/content_settings/core/common/pref_names.h" 13 #include "components/content_settings/core/common/pref_names.h"
13 #include "components/keyed_service/content/browser_context_dependency_manager.h" 14 #include "components/keyed_service/content/browser_context_dependency_manager.h"
14 #include "components/pref_registry/pref_registry_syncable.h" 15 #include "components/pref_registry/pref_registry_syncable.h"
15 #include "content/public/browser/browser_thread.h" 16 #include "content/public/browser/browser_thread.h"
16 #include "content/public/browser/user_metrics.h" 17 #include "content/public/browser/user_metrics.h"
17 #include "extensions/common/constants.h" 18 #include "extensions/common/constants.h"
18 19
19 using base::UserMetricsAction; 20 using base::UserMetricsAction;
20 21
21 // static 22 // static
22 scoped_refptr<content_settings::CookieSettings> 23 scoped_refptr<content_settings::CookieSettings>
23 CookieSettingsFactory::GetForProfile(Profile* profile) { 24 CookieSettingsFactory::GetForProfile(Profile* profile) {
24 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 25 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
25 return static_cast<content_settings::CookieSettings*>( 26 return static_cast<content_settings::CookieSettings*>(
26 GetInstance()->GetServiceForBrowserContext(profile, true).get()); 27 GetInstance()->GetServiceForBrowserContext(profile, true).get());
27 } 28 }
28 29
29 // static 30 // static
30 CookieSettingsFactory* CookieSettingsFactory::GetInstance() { 31 CookieSettingsFactory* CookieSettingsFactory::GetInstance() {
31 return base::Singleton<CookieSettingsFactory>::get(); 32 return base::Singleton<CookieSettingsFactory>::get();
32 } 33 }
33 34
34 CookieSettingsFactory::CookieSettingsFactory() 35 CookieSettingsFactory::CookieSettingsFactory()
35 : RefcountedBrowserContextKeyedServiceFactory( 36 : RefcountedBrowserContextKeyedServiceFactory(
36 "CookieSettings", 37 "CookieSettings",
37 BrowserContextDependencyManager::GetInstance()) { 38 BrowserContextDependencyManager::GetInstance()) {
39 DependsOn(HostContentSettingsMapFactory::GetInstance());
38 } 40 }
39 41
40 CookieSettingsFactory::~CookieSettingsFactory() { 42 CookieSettingsFactory::~CookieSettingsFactory() {
41 } 43 }
42 44
43 void CookieSettingsFactory::RegisterProfilePrefs( 45 void CookieSettingsFactory::RegisterProfilePrefs(
44 user_prefs::PrefRegistrySyncable* registry) { 46 user_prefs::PrefRegistrySyncable* registry) {
45 content_settings::CookieSettings::RegisterProfilePrefs(registry); 47 content_settings::CookieSettings::RegisterProfilePrefs(registry);
46 } 48 }
47 49
48 content::BrowserContext* CookieSettingsFactory::GetBrowserContextToUse( 50 content::BrowserContext* CookieSettingsFactory::GetBrowserContextToUse(
49 content::BrowserContext* context) const { 51 content::BrowserContext* context) const {
50 // The incognito profile has its own content settings map. Therefore, it 52 // The incognito profile has its own content settings map. Therefore, it
51 // should get its own CookieSettings. 53 // should get its own CookieSettings.
52 return chrome::GetBrowserContextOwnInstanceInIncognito(context); 54 return chrome::GetBrowserContextOwnInstanceInIncognito(context);
53 } 55 }
54 56
55 scoped_refptr<RefcountedKeyedService> 57 scoped_refptr<RefcountedKeyedService>
56 CookieSettingsFactory::BuildServiceInstanceFor( 58 CookieSettingsFactory::BuildServiceInstanceFor(
57 content::BrowserContext* context) const { 59 content::BrowserContext* context) const {
58 Profile* profile = static_cast<Profile*>(context); 60 Profile* profile = static_cast<Profile*>(context);
59 if (profile->GetPrefs()->GetBoolean(prefs::kBlockThirdPartyCookies)) { 61 if (profile->GetPrefs()->GetBoolean(prefs::kBlockThirdPartyCookies)) {
60 content::RecordAction(UserMetricsAction("ThirdPartyCookieBlockingEnabled")); 62 content::RecordAction(UserMetricsAction("ThirdPartyCookieBlockingEnabled"));
61 } else { 63 } else {
62 content::RecordAction( 64 content::RecordAction(
63 UserMetricsAction("ThirdPartyCookieBlockingDisabled")); 65 UserMetricsAction("ThirdPartyCookieBlockingDisabled"));
64 } 66 }
65 return new content_settings::CookieSettings( 67 return new content_settings::CookieSettings(
66 profile->GetHostContentSettingsMap(), profile->GetPrefs(), 68 HostContentSettingsMapFactory::GetForProfile(profile),
69 profile->GetPrefs(),
67 extensions::kExtensionScheme); 70 extensions::kExtensionScheme);
68 } 71 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698