| 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/geolocation_delegate.h" |
| 19 #include "content/public/browser/geolocation_provider.h" |
| 18 #include "content/public/browser/storage_partition.h" | 20 #include "content/public/browser/storage_partition.h" |
| 19 #include "content/public/common/content_switches.h" | 21 #include "content/public/common/content_switches.h" |
| 20 #include "content/public/common/main_function_params.h" | 22 #include "content/public/common/main_function_params.h" |
| 21 #include "content/public/common/url_constants.h" | 23 #include "content/public/common/url_constants.h" |
| 22 #include "content/shell/browser/shell.h" | 24 #include "content/shell/browser/shell.h" |
| 25 #include "content/shell/browser/shell_access_token_store.h" |
| 23 #include "content/shell/browser/shell_browser_context.h" | 26 #include "content/shell/browser/shell_browser_context.h" |
| 24 #include "content/shell/browser/shell_devtools_manager_delegate.h" | 27 #include "content/shell/browser/shell_devtools_manager_delegate.h" |
| 25 #include "content/shell/browser/shell_net_log.h" | 28 #include "content/shell/browser/shell_net_log.h" |
| 26 #include "content/shell/common/shell_switches.h" | 29 #include "content/shell/common/shell_switches.h" |
| 27 #include "device/bluetooth/bluetooth_adapter_factory.h" | 30 #include "device/bluetooth/bluetooth_adapter_factory.h" |
| 28 #include "net/base/filename_util.h" | 31 #include "net/base/filename_util.h" |
| 29 #include "net/base/net_module.h" | 32 #include "net/base/net_module.h" |
| 30 #include "net/grit/net_resources.h" | 33 #include "net/grit/net_resources.h" |
| 31 #include "ui/base/material_design/material_design_controller.h" | 34 #include "ui/base/material_design/material_design_controller.h" |
| 32 #include "ui/base/resource/resource_bundle.h" | 35 #include "ui/base/resource/resource_bundle.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 48 #include "chromeos/dbus/dbus_thread_manager.h" | 51 #include "chromeos/dbus/dbus_thread_manager.h" |
| 49 #include "device/bluetooth/dbus/bluez_dbus_manager.h" | 52 #include "device/bluetooth/dbus/bluez_dbus_manager.h" |
| 50 #elif defined(OS_LINUX) | 53 #elif defined(OS_LINUX) |
| 51 #include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h" | 54 #include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h" |
| 52 #endif | 55 #endif |
| 53 | 56 |
| 54 namespace content { | 57 namespace content { |
| 55 | 58 |
| 56 namespace { | 59 namespace { |
| 57 | 60 |
| 61 // A provider of services for Geolocation. |
| 62 class ShellGeolocationDelegate : public content::GeolocationDelegate { |
| 63 public: |
| 64 explicit ShellGeolocationDelegate(ShellBrowserContext* context) |
| 65 : context_(context) {} |
| 66 |
| 67 scoped_refptr<content::AccessTokenStore> CreateAccessTokenStore() final { |
| 68 return new ShellAccessTokenStore(context_); |
| 69 } |
| 70 |
| 71 private: |
| 72 ShellBrowserContext* context_; |
| 73 DISALLOW_COPY_AND_ASSIGN(ShellGeolocationDelegate); |
| 74 }; |
| 75 |
| 58 GURL GetStartupURL() { | 76 GURL GetStartupURL() { |
| 59 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | 77 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| 60 if (command_line->HasSwitch(switches::kContentBrowserTest)) | 78 if (command_line->HasSwitch(switches::kContentBrowserTest)) |
| 61 return GURL(); | 79 return GURL(); |
| 62 const base::CommandLine::StringVector& args = command_line->GetArgs(); | 80 const base::CommandLine::StringVector& args = command_line->GetArgs(); |
| 63 | 81 |
| 64 #if defined(OS_ANDROID) | 82 #if defined(OS_ANDROID) |
| 65 // Delay renderer creation on Android until surface is ready. | 83 // Delay renderer creation on Android until surface is ready. |
| 66 return GURL(); | 84 return GURL(); |
| 67 #endif | 85 #endif |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 crash_dump_manager_.reset(new breakpad::CrashDumpManager(crash_dumps_dir)); | 176 crash_dump_manager_.reset(new breakpad::CrashDumpManager(crash_dumps_dir)); |
| 159 } | 177 } |
| 160 | 178 |
| 161 return 0; | 179 return 0; |
| 162 } | 180 } |
| 163 #endif | 181 #endif |
| 164 | 182 |
| 165 void ShellBrowserMainParts::PreMainMessageLoopRun() { | 183 void ShellBrowserMainParts::PreMainMessageLoopRun() { |
| 166 net_log_.reset(new ShellNetLog("content_shell")); | 184 net_log_.reset(new ShellNetLog("content_shell")); |
| 167 InitializeBrowserContexts(); | 185 InitializeBrowserContexts(); |
| 186 content::GeolocationProvider::SetGeolocationDelegate( |
| 187 new ShellGeolocationDelegate(browser_context())); |
| 168 Shell::Initialize(); | 188 Shell::Initialize(); |
| 169 net::NetModule::SetResourceProvider(PlatformResourceProvider); | 189 net::NetModule::SetResourceProvider(PlatformResourceProvider); |
| 170 | 190 |
| 171 devtools_http_handler_.reset( | 191 devtools_http_handler_.reset( |
| 172 ShellDevToolsManagerDelegate::CreateHttpHandler(browser_context_.get())); | 192 ShellDevToolsManagerDelegate::CreateHttpHandler(browser_context_.get())); |
| 173 | 193 |
| 174 InitializeMessageLoopContext(); | 194 InitializeMessageLoopContext(); |
| 175 | 195 |
| 176 if (parameters_.ui_task) { | 196 if (parameters_.ui_task) { |
| 177 parameters_.ui_task->Run(); | 197 parameters_.ui_task->Run(); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 195 device::BluetoothAdapterFactory::Shutdown(); | 215 device::BluetoothAdapterFactory::Shutdown(); |
| 196 bluez::BluezDBusManager::Shutdown(); | 216 bluez::BluezDBusManager::Shutdown(); |
| 197 chromeos::DBusThreadManager::Shutdown(); | 217 chromeos::DBusThreadManager::Shutdown(); |
| 198 #elif defined(OS_LINUX) | 218 #elif defined(OS_LINUX) |
| 199 device::BluetoothAdapterFactory::Shutdown(); | 219 device::BluetoothAdapterFactory::Shutdown(); |
| 200 bluez::DBusBluezManagerWrapperLinux::Shutdown(); | 220 bluez::DBusBluezManagerWrapperLinux::Shutdown(); |
| 201 #endif | 221 #endif |
| 202 } | 222 } |
| 203 | 223 |
| 204 } // namespace | 224 } // namespace |
| OLD | NEW |