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

Side by Side Diff: extensions/shell/browser/shell_browser_main_parts.cc

Issue 389633002: Move system.* family of APIs to extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: No ash/ dependency anymore Created 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "extensions/shell/browser/shell_browser_main_parts.h" 5 #include "extensions/shell/browser/shell_browser_main_parts.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "components/keyed_service/content/browser_context_dependency_manager.h" 9 #include "components/keyed_service/content/browser_context_dependency_manager.h"
10 #include "components/omaha_query_params/omaha_query_params.h" 10 #include "components/omaha_query_params/omaha_query_params.h"
11 #include "content/public/browser/context_factory.h" 11 #include "content/public/browser/context_factory.h"
12 #include "content/public/common/result_codes.h" 12 #include "content/public/common/result_codes.h"
13 #include "content/shell/browser/shell_devtools_delegate.h" 13 #include "content/shell/browser/shell_devtools_delegate.h"
14 #include "content/shell/browser/shell_net_log.h" 14 #include "content/shell/browser/shell_net_log.h"
15 #include "extensions/browser/api/system_info/system_info_api.h"
15 #include "extensions/browser/browser_context_keyed_service_factories.h" 16 #include "extensions/browser/browser_context_keyed_service_factories.h"
16 #include "extensions/browser/extension_system.h" 17 #include "extensions/browser/extension_system.h"
17 #include "extensions/shell/browser/shell_browser_context.h" 18 #include "extensions/shell/browser/shell_browser_context.h"
18 #include "extensions/shell/browser/shell_browser_main_delegate.h" 19 #include "extensions/shell/browser/shell_browser_main_delegate.h"
19 #include "extensions/shell/browser/shell_desktop_controller.h" 20 #include "extensions/shell/browser/shell_desktop_controller.h"
20 #include "extensions/shell/browser/shell_device_client.h" 21 #include "extensions/shell/browser/shell_device_client.h"
21 #include "extensions/shell/browser/shell_extension_system.h" 22 #include "extensions/shell/browser/shell_extension_system.h"
22 #include "extensions/shell/browser/shell_extension_system_factory.h" 23 #include "extensions/shell/browser/shell_extension_system_factory.h"
23 #include "extensions/shell/browser/shell_extensions_browser_client.h" 24 #include "extensions/shell/browser/shell_extensions_browser_client.h"
24 #include "extensions/shell/browser/shell_omaha_query_params_delegate.h" 25 #include "extensions/shell/browser/shell_omaha_query_params_delegate.h"
25 #include "extensions/shell/common/shell_extensions_client.h" 26 #include "extensions/shell/common/shell_extensions_client.h"
26 #include "extensions/shell/common/switches.h" 27 #include "extensions/shell/common/switches.h"
27 #include "ui/aura/env.h" 28 #include "ui/aura/env.h"
28 #include "ui/aura/window_tree_host.h" 29 #include "ui/aura/window_tree_host.h"
29 #include "ui/base/ime/input_method_initializer.h" 30 #include "ui/base/ime/input_method_initializer.h"
30 #include "ui/base/resource/resource_bundle.h" 31 #include "ui/base/resource/resource_bundle.h"
31 32
33 #if !defined(OS_ANDROID) && !defined(OS_IOS)
34 #include "components/storage_monitor/storage_monitor.h"
35 #endif
36
32 #if defined(OS_CHROMEOS) 37 #if defined(OS_CHROMEOS)
33 #include "chromeos/audio/cras_audio_handler.h" 38 #include "chromeos/audio/cras_audio_handler.h"
34 #include "chromeos/dbus/dbus_thread_manager.h" 39 #include "chromeos/dbus/dbus_thread_manager.h"
35 #include "chromeos/network/network_handler.h" 40 #include "chromeos/network/network_handler.h"
36 #include "extensions/shell/browser/shell_audio_controller_chromeos.h" 41 #include "extensions/shell/browser/shell_audio_controller_chromeos.h"
37 #include "extensions/shell/browser/shell_network_controller_chromeos.h" 42 #include "extensions/shell/browser/shell_network_controller_chromeos.h"
38 #endif 43 #endif
39 44
40 #if !defined(DISABLE_NACL) 45 #if !defined(DISABLE_NACL)
41 #include "components/nacl/browser/nacl_browser.h" 46 #include "components/nacl/browser/nacl_browser.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 127
123 // Create our custom ExtensionSystem first because other 128 // Create our custom ExtensionSystem first because other
124 // KeyedServices depend on it. 129 // KeyedServices depend on it.
125 // TODO(yoz): Move this after EnsureBrowserContextKeyedServiceFactoriesBuilt. 130 // TODO(yoz): Move this after EnsureBrowserContextKeyedServiceFactoriesBuilt.
126 CreateExtensionSystem(); 131 CreateExtensionSystem();
127 132
128 // Register additional KeyedService factories here. See 133 // Register additional KeyedService factories here. See
129 // ChromeBrowserMainExtraPartsProfiles for details. 134 // ChromeBrowserMainExtraPartsProfiles for details.
130 EnsureBrowserContextKeyedServiceFactoriesBuilt(); 135 EnsureBrowserContextKeyedServiceFactoriesBuilt();
131 ShellExtensionSystemFactory::GetInstance(); 136 ShellExtensionSystemFactory::GetInstance();
137 SystemInfoAPI::GetFactoryInstance();
132 138
133 BrowserContextDependencyManager::GetInstance()->CreateBrowserContextServices( 139 BrowserContextDependencyManager::GetInstance()->CreateBrowserContextServices(
134 browser_context_.get()); 140 browser_context_.get());
135 141
136 #if !defined(DISABLE_NACL) 142 #if !defined(DISABLE_NACL)
137 // Takes ownership. 143 // Takes ownership.
138 nacl::NaClBrowser::SetDelegate( 144 nacl::NaClBrowser::SetDelegate(
139 new ShellNaClBrowserDelegate(browser_context_.get())); 145 new ShellNaClBrowserDelegate(browser_context_.get()));
140 content::BrowserThread::PostTask( 146 content::BrowserThread::PostTask(
141 content::BrowserThread::IO, 147 content::BrowserThread::IO,
142 FROM_HERE, 148 FROM_HERE,
143 base::Bind(nacl::NaClProcessHost::EarlyStartup)); 149 base::Bind(nacl::NaClProcessHost::EarlyStartup));
144 #endif 150 #endif
145 151
146 devtools_delegate_.reset( 152 devtools_delegate_.reset(
147 new content::ShellDevToolsDelegate(browser_context_.get())); 153 new content::ShellDevToolsDelegate(browser_context_.get()));
148 if (parameters_.ui_task) { 154 if (parameters_.ui_task) {
149 // For running browser tests. 155 // For running browser tests.
150 parameters_.ui_task->Run(); 156 parameters_.ui_task->Run();
151 delete parameters_.ui_task; 157 delete parameters_.ui_task;
152 run_message_loop_ = false; 158 run_message_loop_ = false;
153 } else { 159 } else {
154 browser_main_delegate_->Start(browser_context_.get()); 160 browser_main_delegate_->Start(browser_context_.get());
155 } 161 }
162
163 #if !defined(OS_ANDROID) && !defined(OS_IOS)
164 storage_monitor::StorageMonitor::Create();
165 #endif
156 } 166 }
157 167
158 bool ShellBrowserMainParts::MainMessageLoopRun(int* result_code) { 168 bool ShellBrowserMainParts::MainMessageLoopRun(int* result_code) {
159 if (!run_message_loop_) 169 if (!run_message_loop_)
160 return true; 170 return true;
161 // TODO(yoz): just return false here? 171 // TODO(yoz): just return false here?
162 base::RunLoop run_loop; 172 base::RunLoop run_loop;
163 run_loop.Run(); 173 run_loop.Run();
164 *result_code = content::RESULT_CODE_NORMAL_EXIT; 174 *result_code = content::RESULT_CODE_NORMAL_EXIT;
165 return true; 175 return true;
166 } 176 }
167 177
168 void ShellBrowserMainParts::PostMainMessageLoopRun() { 178 void ShellBrowserMainParts::PostMainMessageLoopRun() {
169 browser_main_delegate_->Shutdown(); 179 browser_main_delegate_->Shutdown();
170 180
171 BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices( 181 BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices(
172 browser_context_.get()); 182 browser_context_.get());
173 extension_system_ = NULL; 183 extension_system_ = NULL;
174 ExtensionsBrowserClient::Set(NULL); 184 ExtensionsBrowserClient::Set(NULL);
175 extensions_browser_client_.reset(); 185 extensions_browser_client_.reset();
176 browser_context_.reset(); 186 browser_context_.reset();
177 187
178 desktop_controller_.reset(); 188 desktop_controller_.reset();
189
190 #if !defined(OS_ANDROID) && !defined(OS_IOS)
191 storage_monitor::StorageMonitor::Destroy();
192 #endif
179 } 193 }
180 194
181 void ShellBrowserMainParts::PostDestroyThreads() { 195 void ShellBrowserMainParts::PostDestroyThreads() {
182 #if defined(OS_CHROMEOS) 196 #if defined(OS_CHROMEOS)
183 audio_controller_.reset(); 197 audio_controller_.reset();
184 chromeos::CrasAudioHandler::Shutdown(); 198 chromeos::CrasAudioHandler::Shutdown();
185 network_controller_.reset(); 199 network_controller_.reset();
186 chromeos::NetworkHandler::Shutdown(); 200 chromeos::NetworkHandler::Shutdown();
187 chromeos::DBusThreadManager::Shutdown(); 201 chromeos::DBusThreadManager::Shutdown();
188 #endif 202 #endif
189 } 203 }
190 204
191 void ShellBrowserMainParts::CreateExtensionSystem() { 205 void ShellBrowserMainParts::CreateExtensionSystem() {
192 DCHECK(browser_context_); 206 DCHECK(browser_context_);
193 extension_system_ = static_cast<ShellExtensionSystem*>( 207 extension_system_ = static_cast<ShellExtensionSystem*>(
194 ExtensionSystem::Get(browser_context_.get())); 208 ExtensionSystem::Get(browser_context_.get()));
195 extension_system_->InitForRegularProfile(true); 209 extension_system_->InitForRegularProfile(true);
196 } 210 }
197 211
198 } // namespace extensions 212 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698