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

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

Issue 515573003: app_shell: Do simple audio initialization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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"
(...skipping 11 matching lines...) Expand all
22 #include "extensions/shell/browser/shell_extensions_browser_client.h" 22 #include "extensions/shell/browser/shell_extensions_browser_client.h"
23 #include "extensions/shell/browser/shell_omaha_query_params_delegate.h" 23 #include "extensions/shell/browser/shell_omaha_query_params_delegate.h"
24 #include "extensions/shell/common/shell_extensions_client.h" 24 #include "extensions/shell/common/shell_extensions_client.h"
25 #include "extensions/shell/common/switches.h" 25 #include "extensions/shell/common/switches.h"
26 #include "ui/aura/env.h" 26 #include "ui/aura/env.h"
27 #include "ui/aura/window_tree_host.h" 27 #include "ui/aura/window_tree_host.h"
28 #include "ui/base/ime/input_method_initializer.h" 28 #include "ui/base/ime/input_method_initializer.h"
29 #include "ui/base/resource/resource_bundle.h" 29 #include "ui/base/resource/resource_bundle.h"
30 30
31 #if defined(OS_CHROMEOS) 31 #if defined(OS_CHROMEOS)
32 #include "chromeos/audio/cras_audio_handler.h"
32 #include "chromeos/dbus/dbus_thread_manager.h" 33 #include "chromeos/dbus/dbus_thread_manager.h"
34 #include "chromeos/network/network_handler.h"
35 #include "extensions/shell/browser/shell_audio_controller_chromeos.h"
33 #include "extensions/shell/browser/shell_network_controller_chromeos.h" 36 #include "extensions/shell/browser/shell_network_controller_chromeos.h"
34 #endif 37 #endif
35 38
36 #if !defined(DISABLE_NACL) 39 #if !defined(DISABLE_NACL)
37 #include "components/nacl/browser/nacl_browser.h" 40 #include "components/nacl/browser/nacl_browser.h"
38 #include "components/nacl/browser/nacl_process_host.h" 41 #include "components/nacl/browser/nacl_process_host.h"
39 #include "content/public/browser/browser_thread.h" 42 #include "content/public/browser/browser_thread.h"
40 #include "extensions/shell/browser/shell_nacl_browser_delegate.h" 43 #include "extensions/shell/browser/shell_nacl_browser_delegate.h"
41 #endif 44 #endif
42 45
43 using content::BrowserContext; 46 using content::BrowserContext;
44 47
45 namespace {
46
47 // Register additional KeyedService factories here. See
48 // ChromeBrowserMainExtraPartsProfiles for details.
49 void EnsureBrowserContextKeyedServiceFactoriesBuilt() {
50 extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
51 extensions::ShellExtensionSystemFactory::GetInstance();
52 }
53
54 } // namespace
55
56 namespace extensions { 48 namespace extensions {
57 49
58 ShellBrowserMainParts::ShellBrowserMainParts( 50 ShellBrowserMainParts::ShellBrowserMainParts(
59 const content::MainFunctionParams& parameters, 51 const content::MainFunctionParams& parameters,
60 ShellBrowserMainDelegate* browser_main_delegate) 52 ShellBrowserMainDelegate* browser_main_delegate)
61 : extension_system_(NULL), 53 : extension_system_(NULL),
62 parameters_(parameters), 54 parameters_(parameters),
63 run_message_loop_(true), 55 run_message_loop_(true),
64 browser_main_delegate_(browser_main_delegate) { 56 browser_main_delegate_(browser_main_delegate) {
65 } 57 }
66 58
67 ShellBrowserMainParts::~ShellBrowserMainParts() { 59 ShellBrowserMainParts::~ShellBrowserMainParts() {
68 } 60 }
69 61
70 void ShellBrowserMainParts::PreMainMessageLoopStart() { 62 void ShellBrowserMainParts::PreMainMessageLoopStart() {
71 // TODO(jamescook): Initialize touch here? 63 // TODO(jamescook): Initialize touch here?
72 } 64 }
73 65
74 void ShellBrowserMainParts::PostMainMessageLoopStart() { 66 void ShellBrowserMainParts::PostMainMessageLoopStart() {
75 #if defined(OS_CHROMEOS) 67 #if defined(OS_CHROMEOS)
68 // Perform initialization of D-Bus objects here so as to not step on tests'
James Cook 2014/08/27 23:18:33 super nit: What does "step on tests' toes" mean?
Daniel Erat 2014/08/28 00:12:20 Done.
69 // toes.
76 chromeos::DBusThreadManager::Initialize(); 70 chromeos::DBusThreadManager::Initialize();
71
72 chromeos::NetworkHandler::Initialize();
77 network_controller_.reset(new ShellNetworkController( 73 network_controller_.reset(new ShellNetworkController(
78 base::CommandLine::ForCurrentProcess()->GetSwitchValueNative( 74 base::CommandLine::ForCurrentProcess()->GetSwitchValueNative(
79 switches::kAppShellPreferredNetwork))); 75 switches::kAppShellPreferredNetwork)));
76
77 chromeos::CrasAudioHandler::Initialize(
78 new ShellAudioController::PrefHandler());
79 audio_controller_.reset(new ShellAudioController());
80 #else 80 #else
81 // Non-Chrome OS platforms are for developer convenience, so use a test IME. 81 // Non-Chrome OS platforms are for developer convenience, so use a test IME.
82 ui::InitializeInputMethodForTesting(); 82 ui::InitializeInputMethodForTesting();
83 #endif 83 #endif
84 } 84 }
85 85
86 void ShellBrowserMainParts::PreEarlyInitialization() { 86 void ShellBrowserMainParts::PreEarlyInitialization() {
87 } 87 }
88 88
89 int ShellBrowserMainParts::PreCreateThreads() { 89 int ShellBrowserMainParts::PreCreateThreads() {
(...skipping 24 matching lines...) Expand all
114 114
115 omaha_query_params_delegate_.reset(new ShellOmahaQueryParamsDelegate); 115 omaha_query_params_delegate_.reset(new ShellOmahaQueryParamsDelegate);
116 omaha_query_params::OmahaQueryParams::SetDelegate( 116 omaha_query_params::OmahaQueryParams::SetDelegate(
117 omaha_query_params_delegate_.get()); 117 omaha_query_params_delegate_.get());
118 118
119 // Create our custom ExtensionSystem first because other 119 // Create our custom ExtensionSystem first because other
120 // KeyedServices depend on it. 120 // KeyedServices depend on it.
121 // TODO(yoz): Move this after EnsureBrowserContextKeyedServiceFactoriesBuilt. 121 // TODO(yoz): Move this after EnsureBrowserContextKeyedServiceFactoriesBuilt.
122 CreateExtensionSystem(); 122 CreateExtensionSystem();
123 123
124 ::EnsureBrowserContextKeyedServiceFactoriesBuilt(); 124 // Register additional KeyedService factories here. See
125 // ChromeBrowserMainExtraPartsProfiles for details.
126 EnsureBrowserContextKeyedServiceFactoriesBuilt();
Daniel Erat 2014/08/27 23:05:29 i was initially adding some code to the anon names
James Cook 2014/08/27 23:18:33 This seems better.
127 ShellExtensionSystemFactory::GetInstance();
128
125 BrowserContextDependencyManager::GetInstance()->CreateBrowserContextServices( 129 BrowserContextDependencyManager::GetInstance()->CreateBrowserContextServices(
126 browser_context_.get()); 130 browser_context_.get());
127 131
128 #if !defined(DISABLE_NACL) 132 #if !defined(DISABLE_NACL)
129 // Takes ownership. 133 // Takes ownership.
130 nacl::NaClBrowser::SetDelegate( 134 nacl::NaClBrowser::SetDelegate(
131 new ShellNaClBrowserDelegate(browser_context_.get())); 135 new ShellNaClBrowserDelegate(browser_context_.get()));
132 content::BrowserThread::PostTask( 136 content::BrowserThread::PostTask(
133 content::BrowserThread::IO, 137 content::BrowserThread::IO,
134 FROM_HERE, 138 FROM_HERE,
(...skipping 30 matching lines...) Expand all
165 extension_system_ = NULL; 169 extension_system_ = NULL;
166 ExtensionsBrowserClient::Set(NULL); 170 ExtensionsBrowserClient::Set(NULL);
167 extensions_browser_client_.reset(); 171 extensions_browser_client_.reset();
168 browser_context_.reset(); 172 browser_context_.reset();
169 173
170 desktop_controller_.reset(); 174 desktop_controller_.reset();
171 } 175 }
172 176
173 void ShellBrowserMainParts::PostDestroyThreads() { 177 void ShellBrowserMainParts::PostDestroyThreads() {
174 #if defined(OS_CHROMEOS) 178 #if defined(OS_CHROMEOS)
179 audio_controller_.reset();
180 chromeos::CrasAudioHandler::Shutdown();
175 network_controller_.reset(); 181 network_controller_.reset();
182 chromeos::NetworkHandler::Shutdown();
176 chromeos::DBusThreadManager::Shutdown(); 183 chromeos::DBusThreadManager::Shutdown();
177 #endif 184 #endif
178 } 185 }
179 186
180 void ShellBrowserMainParts::CreateExtensionSystem() { 187 void ShellBrowserMainParts::CreateExtensionSystem() {
181 DCHECK(browser_context_); 188 DCHECK(browser_context_);
182 extension_system_ = static_cast<ShellExtensionSystem*>( 189 extension_system_ = static_cast<ShellExtensionSystem*>(
183 ExtensionSystem::Get(browser_context_.get())); 190 ExtensionSystem::Get(browser_context_.get()));
184 extension_system_->InitForRegularProfile(true); 191 extension_system_->InitForRegularProfile(true);
185 } 192 }
186 193
187 } // namespace extensions 194 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698