| Auto-Submit | +1 |
| Commit-Queue | +1 |
ui/gfx/x: Peek X11 responses in GeometryCache::GetBoundsPx()Thomas Anderson"Peek at" ?
Done
ReadBuffer buf(raw_reply);Thomas AndersonMake line 119 consistent along the way?
Done
// Blocks until we receive the response from the server. Returns the responseThomas Andersongo/avoid-we
Done
void Peek(RawReply* raw_reply, std::unique_ptr<Error>* error);Thomas AndersonDocument how this is different from Sync().
Done
DCHECK_CALLED_ON_VALID_SEQUENCE(connection_->sequence_checker_);Thomas AndersonDo this first?
Done
gfx::Rect geometry = geometry_;Thomas AndersonShould not assign since line 39 does it.
Done
if (!have_parent_) {Thomas AndersonThe pre-existing code did this check first. Is this flipped around on purpose?
Changed back to original order.
return geometry;Thomas AndersonFlip conditional on line 47 and return early?
Done
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
ui/gfx/x: Peek at X11 responses in GeometryCache::GetBoundsPx()
GeometryCache::GetBoundsPx() previously called DispatchNow() to wait for
and process parent/geometry responses. This triggered synchronous
callbacks, causing out-of-order event dispatch and re-entrancy issues
(crbug.com/524439798, crbug.com/524824288, crbug.com/532966375).
This change adds a Peek() method to x11::Future and x11::FutureImpl
which blocks until the reply is available from the X server without
taking the response from the connection queue or clearing/dispatching
the response callback.
GeometryCache::GetBoundsPx() now uses Peek() to synchronously read the
parent window and geometry data for bounds calculation without
dispatching events or calling bounds-changed callbacks. The callbacks
are invoked in order when the event loop processes the responses from
the connection queue.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |