• Prabir Pradhan's avatar
    Exo: Re-implement pointer capture using EventHandler · 0eb25914
    Prabir Pradhan authored
    Pointer Capture in Exo was initially implemented by using SetCapture()
    on the aura::Window. This delegates all input events (touch, keyboard,
    mouse, etc.) to the capture window, meaning that the user will not be
    able to interact with anything outside the window with any form of
    input.
    
    Rather than relying on SetCapture(), we set a pre-target handler that
    receives and consumes all mouse events when pointer capture is enabled.
    
      exo_unittests
    
    Bug: b/146164376
    Test: manual testing on ARC++ P using ArcPointerCaptureTestApp.apk;
    Change-Id: I99bcda823ce662e39a91920af98ae09d715bbc38
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1966007
    Auto-Submit: Prabir Pradhan <prabirmsp@chromium.org>
    Commit-Queue: Prabir Pradhan <prabirmsp@chromium.org>
    Reviewed-by: default avatarMitsuru Oshima <oshima@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#729404}
    0eb25914
pointer.h 8 KB