ozone/wayland: use wl_subsurface for DnD tab arrows

Ozone/Wayland used to be using WaylandPopup windows for DnD tab arrows.
However, we needed to resolve some problems:
1) A parent couldn't be found as long as a parent widget is not provided
for tab arrow windows.
2) WaylandPopup searched for currently focused windows and failed to do so,
because Wayland compositor resets pointer focus as soon as DnD starts.
3) WaylandPopup couldn't be repositioned without being recreated.

Thus, I made the following changes If we are in DnD process
- Create WaylandSubsurface that can be repositioned compared to
  WaylandPopup.
- Use the entered to drag window as a parent for WaylandSubsurface
  to show dnd tab arrows on top of that.

Bug: 1044931
Change-Id: I1a7e286ac2acfbc7f92cf6f8fe691f52a73fdbba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2015026
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
Cr-Commit-Position: refs/heads/master@{#734832}
5 files changed