exo: extended-drag: Implement shell surface dragging
Context: Wayland Protocol needs to be extended to make it possible to properly support full Chrome's tab dragging experience. Further details in the Design document [1]. This is the first of a patch series which implements extended-drag in Exo compositor. More specifically, this implements the core feature of the protocol: Making it possible to drag toplevel shell surfaces during DND sessions. It does it by making ExtendedDragSource an implementation of the ash::ToplevelWindowDragDelegate interface and plumbing it into ash's ToplevelWindowEventHandler, delegating to it the actual toplevel window drag handling. Refer to the design doc for more details. [1] https://docs.google.com/document/d/1s6OwTi_WC-pS21WLGQYI39yw2m42ZlVolUXBclljXB4/edit?usp=sharing R=oshima@chromium.org Bug: 1099418 Test: exo_unittests --gtest_filter='ExtendedDragSourceTest.*' Change-Id: I43908dda9f542e5813d96a2e331af8df0a703efb Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2401280Reviewed-by:Mitsuru Oshima <oshima@chromium.org> Commit-Queue: Nick Yamane <nickdiego@igalia.com> Cr-Commit-Position: refs/heads/master@{#822682}
Showing
This diff is collapsed.
Please register or sign in to comment