• Prabir Pradhan's avatar
    Revert "exo: Allow Pointer Capture when window is active" · b89a947a
    Prabir Pradhan authored
    This reverts commit 43be36f0.
    
    Reason for revert: Multiple CTS failures
    
    Bug: b:175379280
    Bug: b:175514308
    Bug: b:175829322
    
    Original change's description:
    > exo: Allow Pointer Capture when window is active
    >
    > Pointer Capture was being rejected by chrome when an app came into
    > focus using keyboard shortcuts (Alt-Tab), but was working as intended
    > when an app came into focus using the mouse or touchscreen. It was being
    > rejected because the capture_surface was the sub-surface of the current
    > focused surface.
    >
    > Since the client is responsible for providing the capture surface
    > through the wayland pointer constraints protocol, it is possible
    > for the client to request capture on a sub-surface of the current
    > active surface. Requesting capture on a sub-surface is a valid request
    > for capture. Rather than ensuring that the capture surface is focused
    > (used for directing key events), we verify that the active window
    > contains the window of the capture surface in its hierarchy before we
    > allow the pointer to be constrained to the surface.
    >
    > This also allows the client to change the cursor while the client has
    > capture, even when the mouse cursor is not currently over a client
    > window.
    >
    > BUG=b:153973515
    > TEST=manual: request pointer capture, leave app, return to app using
    > Alt+Tab, verify app has pointer capture.
    > TEST=exo_unittests
    >
    > Change-Id: I56e76469f35ea43100748ebe27966464e32805fc
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2559255
    > Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
    > Reviewed-by: Tetsui Ohkubo <tetsui@chromium.org>
    > Commit-Queue: Prabir Pradhan <prabirmsp@chromium.org>
    > Auto-Submit: Prabir Pradhan <prabirmsp@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#832613}
    
    TBR=oshima@chromium.org,tetsui@chromium.org,prabirmsp@chromium.org,chromium-scoped@luci-project-accounts.iam.gserviceaccount.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: b:153973515
    Change-Id: I582f775f37c34149fb7f0c2a6b9162b5e72cbf78
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2596065
    Commit-Queue: Prabir Pradhan <prabirmsp@chromium.org>
    Commit-Queue: Mitsuru Oshima <oshima@chromium.org>
    Auto-Submit: Prabir Pradhan <prabirmsp@chromium.org>
    Reviewed-by: default avatarMitsuru Oshima <oshima@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#837908}
    b89a947a
pointer_unittest.cc 54.6 KB