OLD | NEW |
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/extensions/test_extension_system.h" | 5 #include "chrome/browser/extensions/test_extension_system.h" |
6 | 6 |
7 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" | 7 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" |
8 #include "chrome/browser/extensions/extension_devtools_manager.h" | 8 #include "chrome/browser/extensions/extension_devtools_manager.h" |
9 #include "chrome/browser/extensions/extension_event_router.h" | 9 #include "chrome/browser/extensions/extension_event_router.h" |
10 #include "chrome/browser/extensions/extension_info_map.h" | 10 #include "chrome/browser/extensions/extension_info_map.h" |
11 #include "chrome/browser/extensions/extension_message_service.h" | 11 #include "chrome/browser/extensions/extension_message_service.h" |
12 #include "chrome/browser/extensions/extension_pref_value_map.h" | 12 #include "chrome/browser/extensions/extension_pref_value_map.h" |
13 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" | 13 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" |
14 #include "chrome/browser/extensions/extension_process_manager.h" | 14 #include "chrome/browser/extensions/extension_process_manager.h" |
15 #include "chrome/browser/extensions/extension_service.h" | 15 #include "chrome/browser/extensions/extension_service.h" |
16 #include "chrome/browser/extensions/extension_system.h" | 16 #include "chrome/browser/extensions/extension_system.h" |
17 #include "chrome/browser/extensions/state_store.h" | 17 #include "chrome/browser/extensions/state_store.h" |
18 #include "chrome/browser/extensions/user_script_master.h" | 18 #include "chrome/browser/extensions/user_script_master.h" |
19 #include "chrome/browser/profiles/profile.h" | 19 #include "chrome/browser/profiles/profile.h" |
20 #include "chrome/browser/value_store/testing_value_store.h" | 20 #include "chrome/browser/value_store/testing_value_store.h" |
21 #include "chrome/common/chrome_switches.h" | 21 #include "chrome/common/chrome_switches.h" |
22 | 22 |
| 23 namespace extensions { |
23 | 24 |
24 TestExtensionSystem::TestExtensionSystem(Profile* profile) | 25 TestExtensionSystem::TestExtensionSystem(Profile* profile) |
25 : profile_(profile), | 26 : profile_(profile), |
26 info_map_(new ExtensionInfoMap()) { | 27 info_map_(new ExtensionInfoMap()) { |
27 } | 28 } |
28 | 29 |
29 TestExtensionSystem::~TestExtensionSystem() { | 30 TestExtensionSystem::~TestExtensionSystem() { |
30 } | 31 } |
31 | 32 |
32 void TestExtensionSystem::Shutdown() { | 33 void TestExtensionSystem::Shutdown() { |
33 extension_process_manager_.reset(); | 34 extension_process_manager_.reset(); |
34 } | 35 } |
35 | 36 |
36 void TestExtensionSystem::CreateExtensionProcessManager() { | 37 void TestExtensionSystem::CreateExtensionProcessManager() { |
37 extension_process_manager_.reset(ExtensionProcessManager::Create(profile_)); | 38 extension_process_manager_.reset(ExtensionProcessManager::Create(profile_)); |
38 } | 39 } |
39 | 40 |
40 void TestExtensionSystem::CreateAlarmManager( | 41 void TestExtensionSystem::CreateAlarmManager( |
41 extensions::AlarmManager::TimeProvider now) { | 42 AlarmManager::TimeProvider now) { |
42 alarm_manager_.reset(new extensions::AlarmManager(profile_, now)); | 43 alarm_manager_.reset(new AlarmManager(profile_, now)); |
43 } | 44 } |
44 | 45 |
45 ExtensionService* TestExtensionSystem::CreateExtensionService( | 46 ExtensionService* TestExtensionSystem::CreateExtensionService( |
46 const CommandLine* command_line, | 47 const CommandLine* command_line, |
47 const FilePath& install_directory, | 48 const FilePath& install_directory, |
48 bool autoupdate_enabled) { | 49 bool autoupdate_enabled) { |
49 bool extensions_disabled = | 50 bool extensions_disabled = |
50 command_line && command_line->HasSwitch(switches::kDisableExtensions); | 51 command_line && command_line->HasSwitch(switches::kDisableExtensions); |
51 | 52 |
52 // Note that the GetPrefs() creates a TestingPrefService, therefore | 53 // Note that the GetPrefs() creates a TestingPrefService, therefore |
53 // the extension controlled pref values set in extension_prefs_ | 54 // the extension controlled pref values set in extension_prefs_ |
54 // are not reflected in the pref service. One would need to | 55 // are not reflected in the pref service. One would need to |
55 // inject a new ExtensionPrefStore(extension_pref_value_map, false). | 56 // inject a new ExtensionPrefStore(extension_pref_value_map, false). |
56 | 57 |
57 extension_prefs_.reset(new extensions::ExtensionPrefs( | 58 extension_prefs_.reset(new ExtensionPrefs( |
58 profile_->GetPrefs(), | 59 profile_->GetPrefs(), |
59 install_directory, | 60 install_directory, |
60 ExtensionPrefValueMapFactory::GetForProfile(profile_))); | 61 ExtensionPrefValueMapFactory::GetForProfile(profile_))); |
61 state_store_.reset(new extensions::StateStore( | 62 state_store_.reset(new StateStore(profile_, new TestingValueStore())); |
62 profile_, | |
63 new TestingValueStore())); | |
64 extension_prefs_->Init(extensions_disabled); | 63 extension_prefs_->Init(extensions_disabled); |
65 extension_service_.reset(new ExtensionService(profile_, | 64 extension_service_.reset(new ExtensionService(profile_, |
66 command_line, | 65 command_line, |
67 install_directory, | 66 install_directory, |
68 extension_prefs_.get(), | 67 extension_prefs_.get(), |
69 autoupdate_enabled, | 68 autoupdate_enabled, |
70 true)); | 69 true)); |
71 extension_service_->ClearProvidersForTesting(); | 70 extension_service_->ClearProvidersForTesting(); |
72 return extension_service_.get(); | 71 return extension_service_.get(); |
73 } | 72 } |
74 | 73 |
75 extensions::ManagementPolicy* TestExtensionSystem::CreateManagementPolicy() { | 74 ManagementPolicy* TestExtensionSystem::CreateManagementPolicy() { |
76 management_policy_.reset(new extensions::ManagementPolicy()); | 75 management_policy_.reset(new ManagementPolicy()); |
77 DCHECK(extension_prefs_.get()); | 76 DCHECK(extension_prefs_.get()); |
78 management_policy_->RegisterProvider(extension_prefs_.get()); | 77 management_policy_->RegisterProvider(extension_prefs_.get()); |
79 | 78 |
80 return management_policy(); | 79 return management_policy(); |
81 } | 80 } |
82 | 81 |
83 ExtensionService* TestExtensionSystem::extension_service() { | 82 ExtensionService* TestExtensionSystem::extension_service() { |
84 return extension_service_.get(); | 83 return extension_service_.get(); |
85 } | 84 } |
86 | 85 |
87 extensions::ManagementPolicy* TestExtensionSystem::management_policy() { | 86 ManagementPolicy* TestExtensionSystem::management_policy() { |
88 return management_policy_.get(); | 87 return management_policy_.get(); |
89 } | 88 } |
90 | 89 |
91 void TestExtensionSystem::SetExtensionService(ExtensionService* service) { | 90 void TestExtensionSystem::SetExtensionService(ExtensionService* service) { |
92 extension_service_.reset(service); | 91 extension_service_.reset(service); |
93 } | 92 } |
94 | 93 |
95 UserScriptMaster* TestExtensionSystem::user_script_master() { | 94 UserScriptMaster* TestExtensionSystem::user_script_master() { |
96 return NULL; | 95 return NULL; |
97 } | 96 } |
98 | 97 |
99 ExtensionDevToolsManager* TestExtensionSystem::devtools_manager() { | 98 ExtensionDevToolsManager* TestExtensionSystem::devtools_manager() { |
100 return NULL; | 99 return NULL; |
101 } | 100 } |
102 | 101 |
103 ExtensionProcessManager* TestExtensionSystem::process_manager() { | 102 ExtensionProcessManager* TestExtensionSystem::process_manager() { |
104 return extension_process_manager_.get(); | 103 return extension_process_manager_.get(); |
105 } | 104 } |
106 | 105 |
107 extensions::AlarmManager* TestExtensionSystem::alarm_manager() { | 106 AlarmManager* TestExtensionSystem::alarm_manager() { |
108 return alarm_manager_.get(); | 107 return alarm_manager_.get(); |
109 } | 108 } |
110 | 109 |
111 extensions::StateStore* TestExtensionSystem::state_store() { | 110 StateStore* TestExtensionSystem::state_store() { |
112 return state_store_.get(); | 111 return state_store_.get(); |
113 } | 112 } |
114 | 113 |
115 ExtensionInfoMap* TestExtensionSystem::info_map() { | 114 ExtensionInfoMap* TestExtensionSystem::info_map() { |
116 return info_map_.get(); | 115 return info_map_.get(); |
117 } | 116 } |
118 | 117 |
119 extensions::LazyBackgroundTaskQueue* | 118 LazyBackgroundTaskQueue* |
120 TestExtensionSystem::lazy_background_task_queue() { | 119 TestExtensionSystem::lazy_background_task_queue() { |
121 return NULL; | 120 return NULL; |
122 } | 121 } |
123 | 122 |
124 ExtensionMessageService* TestExtensionSystem::message_service() { | 123 ExtensionMessageService* TestExtensionSystem::message_service() { |
125 return NULL; | 124 return NULL; |
126 } | 125 } |
127 | 126 |
128 ExtensionEventRouter* TestExtensionSystem::event_router() { | 127 ExtensionEventRouter* TestExtensionSystem::event_router() { |
129 return NULL; | 128 return NULL; |
130 } | 129 } |
131 | 130 |
132 extensions::RulesRegistryService* | 131 RulesRegistryService* TestExtensionSystem::rules_registry_service() { |
133 TestExtensionSystem::rules_registry_service() { | |
134 return NULL; | 132 return NULL; |
135 } | 133 } |
136 | 134 |
137 // static | 135 // static |
138 ProfileKeyedService* TestExtensionSystem::Build(Profile* profile) { | 136 ProfileKeyedService* TestExtensionSystem::Build(Profile* profile) { |
139 return new TestExtensionSystem(profile); | 137 return new TestExtensionSystem(profile); |
140 } | 138 } |
| 139 |
| 140 } // namespace extensions |
OLD | NEW |