• Tom Anderson's avatar
    [XProto] Refactor response handling · 8cf4d09e
    Tom Anderson authored
    * Now that every request is made by XProto,
      x11::Connection::Request::sequence is no longer needed.  Now sequences
      can be determined by (their index in the queue) +
      x11::Connection::first_request_id_.
      * This makes it easier to work with requests out-of-order, which will
        be necessary for creating property/window caches in the future.
    * Move some xcb calls from xproto_types.cc into connection.cc.  I want
      to dlopen() libxcb in the future to make it possible to run Chrome on
      systems without any X11 libraries, so having everything consolidated
      will make that easier.
    * Add Future::Wait().  Similar to Sync(), this blocks until a response
      is received, but instead of returning the response, it calls the
      installed response handler out-of-order.
    
    R=sky
    
    Bug: 739898
    Change-Id: I10c4c18d3c3090ba09d660a5090fd7c0f01830f5
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2565440
    Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#834386}
    8cf4d09e
connection.h 9.03 KB