Index: chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc |
diff --git a/chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc b/chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc |
index f73d3b2e899e3eb890a37b247857b8e238b66483..5a861f7d7af5e9f77318b957b4edd661f396bccf 100644 |
--- a/chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc |
+++ b/chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc |
@@ -20,8 +20,8 @@ |
#if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
#include "chrome/browser/ui/libgtk2ui/gtk2_ui.h" |
+#include "ui/base/ime/input_method_initializer.h" |
#include "ui/views/linux_ui/linux_ui.h" |
-#else |
#endif |
#if defined(USE_ASH) |
@@ -47,7 +47,13 @@ chrome::HostDesktopType GetInitialDesktop() { |
command_line->HasSwitch(switches::kViewerLaunchViaAppId)) { |
return chrome::HOST_DESKTOP_TYPE_ASH; |
} |
+#elif defined(OS_LINUX) |
+ const CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ if (command_line->HasSwitch(switches::kOpenAsh)) { |
sky
2014/04/24 23:14:32
nit: no {}
|
+ return chrome::HOST_DESKTOP_TYPE_ASH; |
+ } |
#endif |
+ |
return chrome::HOST_DESKTOP_TYPE_NATIVE; |
} |
#endif // !defined(OS_CHROMEOS) && defined(USE_ASH) |
@@ -61,9 +67,13 @@ ChromeBrowserMainExtraPartsAura::~ChromeBrowserMainExtraPartsAura() { |
} |
void ChromeBrowserMainExtraPartsAura::PreEarlyInitialization() { |
-#if !defined(USE_ASH) && defined(OS_LINUX) && defined(USE_X11) |
- // TODO(erg): Refactor this into a dlopen call when we add a GTK3 port. |
- views::LinuxUI::SetInstance(BuildGtk2UI()); |
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
+ if (GetInitialDesktop() != chrome::HOST_DESKTOP_TYPE_ASH) { |
+ // TODO(erg): Refactor this into a dlopen call when we add a GTK3 port. |
+ views::LinuxUI::SetInstance(BuildGtk2UI()); |
+ } else { |
+ ui::InitializeInputMethodForTesting(); |
+ } |
#endif |
} |
@@ -75,8 +85,9 @@ void ChromeBrowserMainExtraPartsAura::ToolkitInitialized() { |
#endif |
#endif |
-#if !defined(USE_ASH) && defined(OS_LINUX) && defined(USE_X11) |
- views::LinuxUI::instance()->Initialize(); |
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
+ if (GetInitialDesktop() != chrome::HOST_DESKTOP_TYPE_ASH) |
+ views::LinuxUI::instance()->Initialize(); |
#endif |
} |