• Mario Bianucci's avatar
    Text should remain selected when scrolling with middle mouse button · 561ebc9c
    Mario Bianucci authored
    Currently, if you select a text on the page, hold down middle mouse
    button and start scrolling in either direction and leave the button, it
    deselects the text. This is due to incorrect position in widget
    information on an event.
    
    This CL fixes the bug by correctly populating the position in widget
    information on an event.
    
    As a side effect of populating the correct position, clicking in an
    OOPIF to end autoscrolling would result in the cursor not changing back
    to a pointer until the mouse was moved. This is because when auto-
    scrolling ends, a cursor update is scheduled, but the cursor update
    timer is tied to user interaction, and if user interaction doesn't
    occur after the click, the timer doesn't fire. This used to work because
    the cached value previously populated in the widget resulted in hit
    testing not reporting a remote frame, so the cursor was updated in
    EventHandler::HandleMouseMoveOrLeaveEvent. With this change, hit testing
    reports a remote frame, so it no longer updates in the same place.
    Therefore, in order to ensure that the cursor is correctly updated
    immediately after autoscrolling, CursorUpdate is called rather than
    just scheduling an update.
    
    Regressing change: crrev.com/c/1773540
    
    Bug: 1054854
    Change-Id: I6b5353529ab0b73c85c1dd0e0237d3e06c848a9f
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2116134Reviewed-by: default avatarKen Buchanan <kenrb@chromium.org>
    Reviewed-by: default avatarDavid Bokan <bokan@chromium.org>
    Reviewed-by: default avatarDaniel Libby <dlibby@microsoft.com>
    Commit-Queue: Mario Bianucci <mabian@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#756405}
    561ebc9c
autoscroll-keeps-selection.html 2.28 KB