Index: chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc |
diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc |
index 1dfd4381ae9789d54b4d7fffff06c6232bb410e5..3e52e483f197d08c63b57c7b3826ef550281be04 100644 |
--- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc |
+++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc |
@@ -15,7 +15,10 @@ |
#endif |
#if defined(USE_AURA) && defined(MOJO_SHELL_CLIENT) |
+#include "components/mus/public/cpp/input_devices/input_device_client.h" |
+#include "components/mus/public/interfaces/input_devices/input_device_server.mojom.h" |
#include "content/public/common/mojo_shell_connection.h" |
+#include "services/shell/public/cpp/connector.h" |
#include "ui/views/mus/window_manager_connection.h" |
#endif |
@@ -50,6 +53,12 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit() { |
content::MojoShellConnection* mojo_shell_connection = |
content::MojoShellConnection::Get(); |
if (mojo_shell_connection && mojo_shell_connection->UsingExternalShell()) { |
+ input_device_client_.reset(new input_device::InputDeviceClient()); |
+ input_device::mojom::InputDeviceServerPtr server; |
+ mojo_shell_connection->GetConnector()->ConnectToInterface("mojo:mus", |
+ &server); |
+ input_device_client_->Connect(std::move(server)); |
+ |
window_manager_connection_ = views::WindowManagerConnection::Create( |
mojo_shell_connection->GetConnector(), |
mojo_shell_connection->GetIdentity()); |