• Philip Rogers's avatar
    Promote fixed/sticky if they can be scrolled · c52d4d72
    Philip Rogers authored
    In https://crrev.com/624999, fixed and sticky positioned elements were
    promoted if they stick to a scroller. This patch takes that further and
    promotes fixed and sticky elements if they stick to a scroller, even if
    the scroller is overflow: hidden. This will let us remove the
    kHasNonLayerViewportConstrainedObjects main thread scrolling reason in a
    followup, which is difficult to support with CompositeAfterPaint.
    
    It is possible to have scroll animations with overflow hidden,
    scroll-behavior: smooth, and the root scroller.
    
    This is expected to regress the ie_chalkboard benchmark which now gets
    layerized which requires a raster larger than the visible rect. Before
    this patch, only the visible rect would be re-rasterized because there
    were no layers. This situation should be rare and this patch should be
    a small progression overall because it reduces main thread scrolling
    reasons.
    
    Bug: 649096
    Change-Id: I6b1b15584166ace3dcd9b40d8271b13fb12b6366
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2100113
    Commit-Queue: Philip Rogers <pdr@chromium.org>
    Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
    Auto-Submit: Philip Rogers <pdr@chromium.org>
    Reviewed-by: default avatarXianzhu Wang <wangxianzhu@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#842312}
    c52d4d72
fixed-position-nonscrollable-body-expected.txt 543 Bytes