• David Bokan's avatar
    Use RootScroller for NonFastScrollableRegions · b2eff4ad
    David Bokan authored
    NonFastScrollableRegions are set on the FrameView's scrolling contents
    layer in order to let the compositor know about scrollers that aren't
    composited or need forwarding events to the main thread for some reason.
    
    This logic breaks when a non-composited subscroller is placed inside
    the root scroller. The root scroller is always composited and it becomes
    the layout/outer viewport in the compositor. This means we never
    actually check the frame view's scrolling layer for NFSRs since we stop
    walking up the scroll tree once we've scrolled the viewport.
    
    This CL fixes the issue by setting the regions on the root scroller's
    scrolling contents layer, rather than the FrameView's. GetScrollableArea
    on the root FrameView will return a RootFrameViewport which returns the
    layout viewport's scrolling layer.
    
    Bug: 954496
    Change-Id: Ic6ee4273fe7d34a97c60c48f00d0ba4892295953
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1580219Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
    Commit-Queue: David Bokan <bokan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#654700}
    b2eff4ad
non-composited-scroller-in-root-scroller.html 2.76 KB