OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "content/shell/browser/shell_browser_main_parts.h" | 5 #include "content/shell/browser/shell_browser_main_parts.h" |
6 | 6 |
7 #include "base/base_switches.h" | 7 #include "base/base_switches.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
11 #include "base/files/file_util.h" | 11 #include "base/files/file_util.h" |
12 #include "base/message_loop/message_loop.h" | 12 #include "base/message_loop/message_loop.h" |
13 #include "base/threading/thread.h" | 13 #include "base/threading/thread.h" |
14 #include "base/threading/thread_restrictions.h" | 14 #include "base/threading/thread_restrictions.h" |
15 #include "build/build_config.h" | 15 #include "build/build_config.h" |
16 #include "components/devtools_http_handler/devtools_http_handler.h" | 16 #include "components/devtools_http_handler/devtools_http_handler.h" |
17 #include "content/public/browser/browser_thread.h" | 17 #include "content/public/browser/browser_thread.h" |
18 #include "content/public/browser/storage_partition.h" | 18 #include "content/public/browser/storage_partition.h" |
19 #include "content/public/common/content_switches.h" | 19 #include "content/public/common/content_switches.h" |
20 #include "content/public/common/main_function_params.h" | 20 #include "content/public/common/main_function_params.h" |
21 #include "content/public/common/url_constants.h" | 21 #include "content/public/common/url_constants.h" |
| 22 #include "content/shell/android/shell_descriptors.h" |
22 #include "content/shell/browser/shell.h" | 23 #include "content/shell/browser/shell.h" |
23 #include "content/shell/browser/shell_access_token_store.h" | 24 #include "content/shell/browser/shell_access_token_store.h" |
24 #include "content/shell/browser/shell_browser_context.h" | 25 #include "content/shell/browser/shell_browser_context.h" |
25 #include "content/shell/browser/shell_devtools_manager_delegate.h" | 26 #include "content/shell/browser/shell_devtools_manager_delegate.h" |
26 #include "content/shell/browser/shell_net_log.h" | 27 #include "content/shell/browser/shell_net_log.h" |
27 #include "content/shell/common/shell_switches.h" | 28 #include "content/shell/common/shell_switches.h" |
28 #include "device/bluetooth/bluetooth_adapter_factory.h" | 29 #include "device/bluetooth/bluetooth_adapter_factory.h" |
29 #include "device/geolocation/geolocation_delegate.h" | 30 #include "device/geolocation/geolocation_delegate.h" |
30 #include "device/geolocation/geolocation_provider.h" | 31 #include "device/geolocation/geolocation_provider.h" |
31 #include "net/base/filename_util.h" | 32 #include "net/base/filename_util.h" |
32 #include "net/base/net_module.h" | 33 #include "net/base/net_module.h" |
33 #include "net/grit/net_resources.h" | 34 #include "net/grit/net_resources.h" |
34 #include "ui/base/material_design/material_design_controller.h" | 35 #include "ui/base/material_design/material_design_controller.h" |
35 #include "ui/base/resource/resource_bundle.h" | 36 #include "ui/base/resource/resource_bundle.h" |
36 #include "url/gurl.h" | 37 #include "url/gurl.h" |
37 | 38 |
38 #if defined(OS_ANDROID) | 39 #if defined(OS_ANDROID) |
39 #include "components/crash/content/browser/crash_dump_manager_android.h" | 40 #include "components/crash/content/browser/crash_dump_manager_android.h" |
| 41 #include "components/crash/content/browser/crash_dump_observer_android.h" |
40 #include "net/android/network_change_notifier_factory_android.h" | 42 #include "net/android/network_change_notifier_factory_android.h" |
41 #include "net/base/network_change_notifier.h" | 43 #include "net/base/network_change_notifier.h" |
42 #endif | 44 #endif |
43 | 45 |
44 #if defined(USE_AURA) && defined(USE_X11) | 46 #if defined(USE_AURA) && defined(USE_X11) |
45 #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck | 47 #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck |
46 #endif | 48 #endif |
47 #if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX) | 49 #if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX) |
48 #include "ui/base/ime/input_method_initializer.h" | 50 #include "ui/base/ime/input_method_initializer.h" |
49 #endif | 51 #endif |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 | 111 |
110 ShellBrowserMainParts::ShellBrowserMainParts( | 112 ShellBrowserMainParts::ShellBrowserMainParts( |
111 const MainFunctionParams& parameters) | 113 const MainFunctionParams& parameters) |
112 : parameters_(parameters), | 114 : parameters_(parameters), |
113 run_message_loop_(true), | 115 run_message_loop_(true), |
114 devtools_http_handler_(nullptr) { | 116 devtools_http_handler_(nullptr) { |
115 } | 117 } |
116 | 118 |
117 ShellBrowserMainParts::~ShellBrowserMainParts() { | 119 ShellBrowserMainParts::~ShellBrowserMainParts() { |
118 DCHECK(!devtools_http_handler_); | 120 DCHECK(!devtools_http_handler_); |
| 121 #if defined(OS_ANDROID) |
| 122 breakpad::CrashDumpObserver::GetInstance()->UnregisterClient( |
| 123 crash_dump_manager_.get()); |
| 124 #endif |
119 } | 125 } |
120 | 126 |
121 #if !defined(OS_MACOSX) | 127 #if !defined(OS_MACOSX) |
122 void ShellBrowserMainParts::PreMainMessageLoopStart() { | 128 void ShellBrowserMainParts::PreMainMessageLoopStart() { |
123 #if defined(USE_AURA) && defined(USE_X11) | 129 #if defined(USE_AURA) && defined(USE_X11) |
124 ui::TouchFactory::SetTouchDeviceListFromCommandLine(); | 130 ui::TouchFactory::SetTouchDeviceListFromCommandLine(); |
125 #endif | 131 #endif |
126 } | 132 } |
127 #endif | 133 #endif |
128 | 134 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 gfx::Size()); | 172 gfx::Size()); |
167 } | 173 } |
168 | 174 |
169 #if defined(OS_ANDROID) | 175 #if defined(OS_ANDROID) |
170 int ShellBrowserMainParts::PreCreateThreads() { | 176 int ShellBrowserMainParts::PreCreateThreads() { |
171 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 177 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
172 switches::kEnableCrashReporter)) { | 178 switches::kEnableCrashReporter)) { |
173 base::FilePath crash_dumps_dir = | 179 base::FilePath crash_dumps_dir = |
174 base::CommandLine::ForCurrentProcess()->GetSwitchValuePath( | 180 base::CommandLine::ForCurrentProcess()->GetSwitchValuePath( |
175 switches::kCrashDumpsDir); | 181 switches::kCrashDumpsDir); |
176 crash_dump_manager_.reset(new breakpad::CrashDumpManager(crash_dumps_dir)); | 182 crash_dump_manager_ = base::MakeUnique<breakpad::CrashDumpManager>( |
| 183 crash_dumps_dir, kAndroidMinidumpDescriptor); |
| 184 breakpad::CrashDumpObserver::GetInstance()->RegisterClient( |
| 185 crash_dump_manager_.get()); |
177 } | 186 } |
178 | 187 |
179 return 0; | 188 return 0; |
180 } | 189 } |
181 #endif | 190 #endif |
182 | 191 |
183 void ShellBrowserMainParts::PreMainMessageLoopRun() { | 192 void ShellBrowserMainParts::PreMainMessageLoopRun() { |
184 net_log_.reset(new ShellNetLog("content_shell")); | 193 net_log_.reset(new ShellNetLog("content_shell")); |
185 InitializeBrowserContexts(); | 194 InitializeBrowserContexts(); |
186 device::GeolocationProvider::SetGeolocationDelegate( | 195 device::GeolocationProvider::SetGeolocationDelegate( |
(...skipping 28 matching lines...) Expand all Loading... |
215 device::BluetoothAdapterFactory::Shutdown(); | 224 device::BluetoothAdapterFactory::Shutdown(); |
216 bluez::BluezDBusManager::Shutdown(); | 225 bluez::BluezDBusManager::Shutdown(); |
217 chromeos::DBusThreadManager::Shutdown(); | 226 chromeos::DBusThreadManager::Shutdown(); |
218 #elif defined(OS_LINUX) | 227 #elif defined(OS_LINUX) |
219 device::BluetoothAdapterFactory::Shutdown(); | 228 device::BluetoothAdapterFactory::Shutdown(); |
220 bluez::DBusBluezManagerWrapperLinux::Shutdown(); | 229 bluez::DBusBluezManagerWrapperLinux::Shutdown(); |
221 #endif | 230 #endif |
222 } | 231 } |
223 | 232 |
224 } // namespace | 233 } // namespace |
OLD | NEW |