exo: Add initial support for service side decorations

Desktop / Chromium - reveman [chromium.org] - 8 December 2016 18:03 EST

This adds the ability to use service side window decorations for shell surfaces. XDG shell surfaces require client side decorations like before but wl_shell_surfaces are now using service side decorations.

The surface bounds logic has been improved to support a client view that is not at the origin of the widget and resize logic is now working correctly when interactive resize is not initiated by the client.

BUG= TEST=exo_unittests

Review-Url: https://codereview.chromium.org/2548653005 Cr-Commit-Position: refs/heads/master@{#437391}

ae5575e exo: Add initial support for service side decorations.
components/exo/display.cc | 18 +--
components/exo/pointer_unittest.cc | 4 +-
components/exo/shell_surface.cc | 192 +++++++++++++++++++++----------
components/exo/shell_surface.h | 25 ++--
components/exo/shell_surface_unittest.cc | 49 ++++----
components/exo/touch_unittest.cc | 2 +-
components/exo/wayland/server.cc | 98 ++++++++--------
7 files changed, 242 insertions(+), 146 deletions(-)

Upstream: git.chromium.org


  • Share