Index: ui/ozone/platform/drm/mus_thread_proxy.h |
diff --git a/ui/ozone/platform/drm/mus_thread_proxy.h b/ui/ozone/platform/drm/mus_thread_proxy.h |
index 054f73e2ad70882712db77a9dfefb2967c25c2c1..81047db5cea7fa2e0b3678284488d66911afc96b 100644 |
--- a/ui/ozone/platform/drm/mus_thread_proxy.h |
+++ b/ui/ozone/platform/drm/mus_thread_proxy.h |
@@ -14,6 +14,7 @@ |
#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_adapter.h" |
+#include "ui/ozone/public/interfaces/cursor.mojom.h" |
namespace base { |
class SingleThreadTaskRunner; |
@@ -26,6 +27,24 @@ class DrmDisplayHostManager; |
class DrmOverlayManager; |
class DrmThread; |
class GpuThreadObserver; |
+class MusThreadProxy; |
+ |
+// Forwarding proxy to handle ownership semantics. |
+class CursorProxyThread : public DrmCursorProxy { |
+ public: |
+ CursorProxyThread(MusThreadProxy* mus_thread_proxy); |
Tom Sepez
2016/07/19 16:14:38
nit: explicit
rjkroege
2016/07/21 01:10:42
Done.
|
+ ~CursorProxyThread() override; |
+ |
+ private: |
+ // DrmCursorProxy. |
+ void CursorSet(gfx::AcceleratedWidget window, |
+ const std::vector<SkBitmap>& bitmaps, |
+ const gfx::Point& point, |
+ int frame_delay_ms) override; |
+ void Move(gfx::AcceleratedWidget window, const gfx::Point& point) override; |
+ void InitializeOnEvdev() override; |
+ MusThreadProxy* mus_thread_proxy_; // Not owned. |
Tom Sepez
2016/07/19 16:14:38
nit: maybe blank line between methods and members.
rjkroege
2016/07/21 01:10:42
Done.
|
+}; |
// In Mus, the window server thread (analogous to Chrome's UI thread), GPU and |
// DRM threads coexist in a single Mus process. The |MusThreadProxy| connects |