| Index: ui/ozone/platform/drm/cursor_proxy_mojo.h
|
| diff --git a/ui/ozone/platform/drm/cursor_proxy_mojo.h b/ui/ozone/platform/drm/cursor_proxy_mojo.h
|
| index 33577aee9ffc5322d09a9148cecc6474ef002179..ccfd6d7009483d79f7794c21e93f090c70d4a444 100644
|
| --- a/ui/ozone/platform/drm/cursor_proxy_mojo.h
|
| +++ b/ui/ozone/platform/drm/cursor_proxy_mojo.h
|
| @@ -8,6 +8,7 @@
|
| #include "ui/gfx/native_widget_types.h"
|
| #include "ui/ozone/platform/drm/gpu/inter_thread_messaging_proxy.h"
|
| #include "ui/ozone/platform/drm/host/drm_cursor.h"
|
| +#include "ui/ozone/platform/drm/host/gpu_thread_observer.h"
|
| #include "ui/ozone/public/interfaces/device_cursor.mojom.h"
|
|
|
| namespace service_manager {
|
| @@ -21,7 +22,7 @@ namespace ui {
|
| // pointer control via Mojo-style IPC. This code runs only in the mus-ws (i.e.
|
| // it's the client) and sends mouse pointer control messages to a less
|
| // priviledged process.
|
| -class CursorProxyMojo : public DrmCursorProxy {
|
| +class CursorProxyMojo : public DrmCursorProxy, public GpuThreadObserver {
|
| public:
|
| explicit CursorProxyMojo(service_manager::Connector* connector);
|
| ~CursorProxyMojo() override;
|
| @@ -35,6 +36,11 @@ class CursorProxyMojo : public DrmCursorProxy {
|
| void Move(gfx::AcceleratedWidget window, const gfx::Point& point) override;
|
| void InitializeOnEvdev() override;
|
|
|
| + // GpuThreadObserver
|
| + void OnGpuProcessLaunched() override;
|
| + void OnGpuThreadReady() override;
|
| + void OnGpuThreadRetired() override;
|
| +
|
| std::unique_ptr<service_manager::Connector> connector_;
|
|
|
| // Mojo implementation of the DrmCursorProxy.
|
| @@ -42,6 +48,8 @@ class CursorProxyMojo : public DrmCursorProxy {
|
| ui::ozone::mojom::DeviceCursorPtr evdev_cursor_ptr_;
|
|
|
| base::PlatformThreadRef evdev_ref_;
|
| +
|
| + bool have_gpu_thread_ = false;
|
| };
|
|
|
| } // namespace ui
|
|
|