• skyostil's avatar
    Fix partial painting with render pipeline throttling · b4cb32a7
    skyostil authored
    This patch fixes a problem with throttled FrameViews sometimes appearing partially painted.
    This was because we generally paint some distance beyond the viewport, i.e., covering the
    entire interest rect. FrameViews which are inside the interest rect but outside the viewport
    are skipped during painting, so the recorded display list won't include their contents. If
    the FrameView is then scrolled on-screen without causing any other paint invalidations, the
    display list won't get updated and the FrameView contents will not be shown.
    
    This patch fixes the problem by forcing a repaint of FrameViews when they become
    unthrottled, discarding any previous display lists and tile textures for the area they
    cover.
    
    BUG=562343
    
    Review URL: https://codereview.chromium.org/1603983002
    
    Cr-Commit-Position: refs/heads/master@{#371517}
    b4cb32a7
FrameThrottlingTest.cpp 15 KB