Index: ui/ozone/platform/drm/host/drm_cursor.h |
diff --git a/ui/ozone/platform/drm/host/drm_cursor.h b/ui/ozone/platform/drm/host/drm_cursor.h |
index f8a6bfd5aecc52c2119c49b4d41ce0a17579e1b7..ea2794ad21a0974ff6b05eb947d267f78b4c45d5 100644 |
--- a/ui/ozone/platform/drm/host/drm_cursor.h |
+++ b/ui/ozone/platform/drm/host/drm_cursor.h |
@@ -30,9 +30,12 @@ class DrmCursorProxy { |
const std::vector<SkBitmap>& bitmaps, |
const gfx::Point& point, |
int frame_delay_ms) = 0; |
- // Moves the cursor in |window| to |point| |
+ // Moves the cursor in |window| to |point|, callable from the ui thread. |
virtual void Move(gfx::AcceleratedWidget window, const gfx::Point& point) = 0; |
+ // Moves the cursor in |window| to |point|, callable from the EvdevThread. |
+ virtual void MoveEvdev(gfx::AcceleratedWidget window, |
+ const gfx::Point& point) = 0; |
// Initialize EvdevThread-specific state. |
virtual void InitializeOnEvdev() = 0; |
}; |
@@ -73,17 +76,21 @@ class DrmCursor : public CursorDelegateEvdev { |
void InitializeOnEvdev() override; |
private: |
+ enum ThreadType { UI, EVDEV }; |
+ |
void SetCursorLocationLocked(const gfx::PointF& location); |
void SendCursorShowLocked(); |
void SendCursorHideLocked(); |
- void SendCursorMoveLocked(); |
+ void SendCursorMoveLocked(ThreadType tt); |
// Lock-testing helpers. |
void CursorSetLockTested(gfx::AcceleratedWidget window, |
const std::vector<SkBitmap>& bitmaps, |
const gfx::Point& point, |
int frame_delay_ms); |
- void MoveLockTested(gfx::AcceleratedWidget window, const gfx::Point& point); |
+ void MoveLockTested(ThreadType thread_type, |
+ gfx::AcceleratedWidget window, |
+ const gfx::Point& point); |
// The mutex synchronizing this object. |
base::Lock lock_; |