Index: components/mus/mus_app.cc |
diff --git a/components/mus/mus_app.cc b/components/mus/mus_app.cc |
index 75f219276ece862d839c2dde826b59938e48b268..1a0cb9fee9247c0419e363ab3e2eb11173e4c7b7 100644 |
--- a/components/mus/mus_app.cc |
+++ b/components/mus/mus_app.cc |
@@ -180,6 +180,11 @@ void MusApp::Initialize(shell::Connector* connector, |
event_source_ = ui::PlatformEventSource::CreateDefault(); |
#endif |
+ // This needs to happen after DeviceDataManager has been constructed. That |
+ // happens either during OzonePlatform or PlatformEventSource initialization, |
+ // so keep this line below both of those. |
+ input_device_server_.RegisterAsObserver(); |
+ |
if (use_chrome_gpu_command_buffer_) { |
GpuServiceMus::GetInstance(); |
} else { |
@@ -210,6 +215,11 @@ bool MusApp::AcceptConnection(Connection* connection) { |
connection->AddInterface<Gpu>(this); |
} |
+ // On non-Linux platforms there will be no DeviceDataManager instance and no |
+ // purpose in adding the Mojo interface to connect to. |
+ if (input_device_server_.IsRegisteredAsObserver()) |
+ input_device_server_.AddInterface(connection); |
+ |
return true; |
} |