| Index: extensions/shell/browser/shell_browser_main_parts.cc
|
| diff --git a/extensions/shell/browser/shell_browser_main_parts.cc b/extensions/shell/browser/shell_browser_main_parts.cc
|
| index dd953675168502a4501e000adde18d8d7af7600c..c3ee90637c15f6207e3a4d8453c2c2c0a20fbcbd 100644
|
| --- a/extensions/shell/browser/shell_browser_main_parts.cc
|
| +++ b/extensions/shell/browser/shell_browser_main_parts.cc
|
| @@ -47,15 +47,23 @@
|
| #if defined(OS_CHROMEOS)
|
| #include "chromeos/audio/audio_devices_pref_handler_impl.h"
|
| #include "chromeos/audio/cras_audio_handler.h"
|
| -#include "chromeos/dbus/dbus_thread_manager.h"
|
| #include "chromeos/disks/disk_mount_manager.h"
|
| #include "chromeos/network/network_handler.h"
|
| -#include "device/bluetooth/bluetooth_adapter_factory.h"
|
| -#include "device/bluetooth/dbus/bluez_dbus_manager.h"
|
| #include "extensions/shell/browser/shell_audio_controller_chromeos.h"
|
| #include "extensions/shell/browser/shell_network_controller_chromeos.h"
|
| #endif
|
|
|
| +#if defined(OS_CHROMEOS) || defined(OS_LINUX)
|
| +#include "device/bluetooth/bluetooth_adapter_factory.h"
|
| +#include "device/bluetooth/dbus/bluez_dbus_manager.h"
|
| +#endif
|
| +
|
| +#if defined(OS_CHROMEOS)
|
| +#include "chromeos/dbus/dbus_thread_manager.h"
|
| +#elif defined(OS_LINUX)
|
| +#include "device/bluetooth/dbus/dbus_thread_manager_linux.h"
|
| +#endif
|
| +
|
| #if defined(OS_MACOSX)
|
| #include "extensions/shell/browser/shell_browser_main_parts_mac.h"
|
| #endif
|
| @@ -122,8 +130,17 @@ void ShellBrowserMainParts::PostMainMessageLoopStart() {
|
| switches::kAppShellAllowRoaming)) {
|
| network_controller_->SetCellularAllowRoaming(true);
|
| }
|
| +#elif defined(OS_LINUX)
|
| + // app_shell doesn't need GTK, so the fake input method context can work.
|
| + // See crbug.com/381852 and revision fb69f142.
|
| + // TODO(michaelpg): Verify this works for target environments.
|
| + ui::InitializeInputMethodForTesting();
|
| +
|
| + bluez::DBusThreadManagerLinux::Initialize();
|
| + bluez::BluezDBusManager::Initialize(
|
| + bluez::DBusThreadManagerLinux::Get()->GetSystemBus(),
|
| + /*use_dbus_fakes=*/false);
|
| #else
|
| - // Non-Chrome OS platforms are for developer convenience, so use a test IME.
|
| ui::InitializeInputMethodForTesting();
|
| #endif
|
| }
|
| @@ -278,6 +295,10 @@ void ShellBrowserMainParts::PostDestroyThreads() {
|
| device::BluetoothAdapterFactory::Shutdown();
|
| bluez::BluezDBusManager::Shutdown();
|
| chromeos::DBusThreadManager::Shutdown();
|
| +#elif defined(OS_LINUX)
|
| + device::BluetoothAdapterFactory::Shutdown();
|
| + bluez::BluezDBusManager::Shutdown();
|
| + bluez::DBusThreadManagerLinux::Shutdown();
|
| #endif
|
| }
|
|
|
|
|