xwayland: Improve checks for confined_to on InputOnly windows

In this pretty Wine/Proton specific kludge, we try to handle confining grabs
on InputOnly windows by trying to find the InputOutput window that the pointer
would get visually confined to.

The grabbing window and the visible window come from different clients, so
we used to simply resort to the pointer focus. This is troublesome though, as
the call may happen very soon at a time that the toplevel wasn't yet mapped by
the Wayland compositor, so the pointer focus may well be out of date soon.

In these situations, it does seem that even though the confining grab happens
too early to have the wayland surface mapped, the xserver view of the WindowPtr
does already reflect the size. Use this to find out the better window to
assign the confining grab to, one whose geometry fully contains the InputOnly
window's.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
4 jobs for confine-inputonly-checks in 5 minutes and 10 seconds (queued for 2 seconds)
Status Name Job ID Coverage
  Docker Image
passed debian-testing #2662689

00:00:53

 
  Build And Test
passed autotools #2662690

00:04:17

passed meson #2662691

00:01:36

passed meson-noglamor #2662692

00:01:25