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

Side by Side Diff: chrome/browser/extensions/extension_prefs_factory.cc

Issue 89253002: Remove ExtensionPrefFactory's dependency on Profile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 7 years 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/command_line.h" 5 #include "base/command_line.h"
6 #include "base/prefs/pref_service.h" 6 #include "base/prefs/pref_service.h"
7 #include "chrome/browser/extensions/extension_pref_value_map.h" 7 #include "chrome/browser/extensions/extension_pref_value_map.h"
8 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" 8 #include "chrome/browser/extensions/extension_pref_value_map_factory.h"
9 #include "chrome/browser/extensions/extension_prefs.h" 9 #include "chrome/browser/extensions/extension_prefs.h"
10 #include "chrome/browser/extensions/extension_prefs_factory.h" 10 #include "chrome/browser/extensions/extension_prefs_factory.h"
11 #include "chrome/browser/extensions/extension_service.h" 11 #include "chrome/browser/extensions/extension_service.h"
12 #include "chrome/browser/profiles/incognito_helpers.h" 12 #include "chrome/browser/profiles/incognito_helpers.h"
13 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/common/chrome_switches.h"
15 #include "chrome/common/pref_names.h"
16 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h" 13 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h"
14 #include "content/public/browser/browser_context.h"
17 #include "extensions/browser/extensions_browser_client.h" 15 #include "extensions/browser/extensions_browser_client.h"
18 #include "extensions/common/constants.h" 16 #include "extensions/common/constants.h"
19 17
20 namespace extensions { 18 namespace extensions {
21 19
22 // static 20 // static
23 ExtensionPrefs* ExtensionPrefsFactory::GetForProfile(Profile* profile) { 21 ExtensionPrefs* ExtensionPrefsFactory::GetForBrowserContext(
22 content::BrowserContext* context) {
24 return static_cast<ExtensionPrefs*>( 23 return static_cast<ExtensionPrefs*>(
25 GetInstance()->GetServiceForBrowserContext(profile, true)); 24 GetInstance()->GetServiceForBrowserContext(context, true));
26 } 25 }
27 26
28 // static 27 // static
29 ExtensionPrefsFactory* ExtensionPrefsFactory::GetInstance() { 28 ExtensionPrefsFactory* ExtensionPrefsFactory::GetInstance() {
30 return Singleton<ExtensionPrefsFactory>::get(); 29 return Singleton<ExtensionPrefsFactory>::get();
31 } 30 }
32 31
33 void ExtensionPrefsFactory::SetInstanceForTesting( 32 void ExtensionPrefsFactory::SetInstanceForTesting(
34 content::BrowserContext* context, ExtensionPrefs* prefs) { 33 content::BrowserContext* context, ExtensionPrefs* prefs) {
35 Associate(context, prefs); 34 Associate(context, prefs);
36 } 35 }
37 36
38 ExtensionPrefsFactory::ExtensionPrefsFactory() 37 ExtensionPrefsFactory::ExtensionPrefsFactory()
39 : BrowserContextKeyedServiceFactory( 38 : BrowserContextKeyedServiceFactory(
40 "ExtensionPrefs", 39 "ExtensionPrefs",
41 BrowserContextDependencyManager::GetInstance()) { 40 BrowserContextDependencyManager::GetInstance()) {
42 } 41 }
43 42
44 ExtensionPrefsFactory::~ExtensionPrefsFactory() { 43 ExtensionPrefsFactory::~ExtensionPrefsFactory() {
45 } 44 }
46 45
47 BrowserContextKeyedService* ExtensionPrefsFactory::BuildServiceInstanceFor( 46 BrowserContextKeyedService* ExtensionPrefsFactory::BuildServiceInstanceFor(
48 content::BrowserContext* context) const { 47 content::BrowserContext* context) const {
49 Profile* profile = Profile::FromBrowserContext(context); 48 ExtensionsBrowserClient* client = ExtensionsBrowserClient::Get();
50 bool extensions_disabled =
51 profile->GetPrefs()->GetBoolean(prefs::kDisableExtensions) ||
52 CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableExtensions);
53 return ExtensionPrefs::Create( 49 return ExtensionPrefs::Create(
54 profile->GetPrefs(), 50 client->GetPrefServiceForContext(context),
55 profile->GetPath().AppendASCII(extensions::kInstallDirectoryName), 51 context->GetPath().AppendASCII(extensions::kInstallDirectoryName),
56 ExtensionPrefValueMapFactory::GetForBrowserContext(profile), 52 ExtensionPrefValueMapFactory::GetForBrowserContext(context),
57 ExtensionsBrowserClient::Get()->CreateAppSorting().Pass(), 53 client->CreateAppSorting().Pass(),
58 extensions_disabled); 54 client->AreExtensionsDisabled(
55 *CommandLine::ForCurrentProcess(), context));
59 } 56 }
60 57
61 content::BrowserContext* ExtensionPrefsFactory::GetBrowserContextToUse( 58 content::BrowserContext* ExtensionPrefsFactory::GetBrowserContextToUse(
62 content::BrowserContext* context) const { 59 content::BrowserContext* context) const {
63 return chrome::GetBrowserContextRedirectedInIncognito(context); 60 return ExtensionsBrowserClient::Get()->GetOriginalContext(context);
64 } 61 }
65 62
66 } // namespace extensions 63 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_prefs_factory.h ('k') | chrome/browser/extensions/extension_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698