OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/extensions/test_extension_system.h" | |
6 | |
7 #include "chrome/browser/extensions/extension_devtools_manager.h" | |
8 #include "chrome/browser/extensions/extension_event_router.h" | |
9 #include "chrome/browser/extensions/extension_info_map.h" | |
10 #include "chrome/browser/extensions/extension_message_service.h" | |
11 #include "chrome/browser/extensions/extension_pref_value_map.h" | |
12 #include "chrome/browser/extensions/extension_process_manager.h" | |
13 #include "chrome/browser/extensions/extension_service.h" | |
14 #include "chrome/browser/extensions/extension_system.h" | |
15 #include "chrome/browser/extensions/user_script_master.h" | |
16 #include "chrome/browser/profiles/profile.h" | |
17 #include "chrome/common/chrome_switches.h" | |
18 | |
19 | |
20 TestExtensionSystem::TestExtensionSystem(Profile* profile) | |
21 : profile_(profile) { | |
22 } | |
23 | |
24 TestExtensionSystem::~TestExtensionSystem() { | |
25 } | |
26 | |
27 void TestExtensionSystem::Shutdown() { | |
28 extension_process_manager_.reset(); | |
29 } | |
30 | |
31 void TestExtensionSystem::CreateExtensionProcessManager() { | |
32 extension_process_manager_.reset(ExtensionProcessManager::Create(profile_)); | |
33 } | |
34 | |
35 ExtensionService* TestExtensionSystem::CreateExtensionService( | |
36 const CommandLine* command_line, | |
37 const FilePath& install_directory, | |
38 bool autoupdate_enabled) { | |
39 // Extension pref store, created for use by |extension_prefs_|. | |
40 extension_pref_value_map_.reset(new ExtensionPrefValueMap); | |
41 | |
42 bool extensions_disabled = | |
43 command_line && command_line->HasSwitch(switches::kDisableExtensions); | |
44 | |
45 // Note that the GetPrefs() creates a TestingPrefService, therefore | |
46 // the extension controlled pref values set in extension_prefs_ | |
47 // are not reflected in the pref service. One would need to | |
48 // inject a new ExtensionPrefStore(extension_pref_value_map_.get(), false). | |
49 | |
50 extension_prefs_.reset( | |
51 new ExtensionPrefs(profile_->GetPrefs(), | |
52 install_directory, | |
53 extension_pref_value_map_.get())); | |
54 extension_prefs_->Init(extensions_disabled); | |
55 extension_service_.reset(new ExtensionService(profile_, | |
56 command_line, | |
57 install_directory, | |
58 extension_prefs_.get(), | |
59 autoupdate_enabled, | |
60 true)); | |
61 return extension_service_.get(); | |
62 } | |
63 | |
64 ExtensionService* TestExtensionSystem::extension_service() { | |
65 return extension_service_.get(); | |
66 } | |
67 | |
68 void TestExtensionSystem::SetExtensionService(ExtensionService* service) { | |
69 extension_service_.reset(service); | |
70 } | |
71 | |
72 UserScriptMaster* TestExtensionSystem::user_script_master() { | |
73 return NULL; | |
74 } | |
75 | |
76 ExtensionDevToolsManager* TestExtensionSystem::devtools_manager() { | |
77 return NULL; | |
78 } | |
79 | |
80 ExtensionProcessManager* TestExtensionSystem::process_manager() { | |
81 return extension_process_manager_.get(); | |
82 } | |
83 | |
84 ExtensionInfoMap* TestExtensionSystem::info_map() { | |
85 return NULL; | |
86 } | |
87 | |
88 ExtensionMessageService* TestExtensionSystem::message_service() { | |
89 return NULL; | |
90 } | |
91 | |
92 ExtensionEventRouter* TestExtensionSystem::event_router() { | |
93 return NULL; | |
94 } | |
95 | |
96 // static | |
97 ProfileKeyedBase* TestExtensionSystem::Build(Profile* profile) { | |
98 return new TestExtensionSystem(profile); | |
99 } | |
OLD | NEW |