* Replace the direct use of the bounds_in_pixels_ with a new
sync-based mechanism that tracks the last set bounds (stored in
last_set_bounds_px_) and relies on a WmSync object plus a
GeometryCache to obtain current geometry via GetBoundsInPixels().
* Update SetBoundsInPixels() and fullscreen logic to call
SetBoundsWithWmSync(), so that window bounds are only updated once the
WM has synchronized the change. This replaces ad-hoc direct
assignments with a coordinated update via OnWmSynced() and
OnBoundsChanged().
* Modify OnConfigureEvent() to initialize and later use the new sync
tracking (via last_configure_size_ and last_swapped_size_), and add a
helper MaybeUpdateSyncCounter() to flush pending counter updates when
the configured size matches the swapped size.
* Update the X11Extension interface (and its usage in
DesktopWindowTreeHostLinux) so that OnCompleteSwapAfterResize() now
accepts a new size parameter.
Bug: 40528928, 381224161
Change-Id: I1a25874fc47c6573ec77427b38532f53e9802684
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6289229
Reviewed-by: Maksim Sisov <msisov@igalia.com>
Reviewed-by: Elly FJ <ellyjones@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Nick Yamane <nickdiego@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1429329}