• Evan Stade's avatar
    Refactor ImmersiveGestureHandler to work in Mash. · b3fa2007
    Evan Stade authored
    Currently, ImmersiveGestureHandlerClassic installs itself as a pretarget
    handler on Shell. This is necessary to get events from bezel sensors,
    which have bounds outside the immersive fs window. It also forwards
    gesture events to ImmersiveFullscreenController.
    
    Keep the part of ImmersiveGestureHandlerClassic that handles drag-
    triggering gesture events in tablet mode (i.e. most of the class) and
    run that within Ash in both Classic and Mash configurations.
    
    Make ImmersiveFullscreenController a pretarget handler for the toplevel
    window when it's in immersive mode. This works in either Ash or client
    as ImmersiveFullscreenController doesn't need to get events outside of
    the window's bounds. ImmersiveFullscreenController is now both an
    EventHandler (for gesture events) and an EventObserver (for mouse and
    touch events).
    
    Bug: 624157,640374
    Change-Id: I83536cb407b4ac890db63d4c6a0fe98b7912a3f4
    Reviewed-on: https://chromium-review.googlesource.com/c/1300678
    Commit-Queue: Evan Stade <estade@chromium.org>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#605733}
    b3fa2007
window_state.cc 26.5 KB