• Xianzhu Wang's avatar
    Reland "Fix false-positives of under-invalidation checking in layout tests" · 25eefe8e
    Xianzhu Wang authored
    This reverts commit d5830561.
    
    This reland fixes bugs in the original CL:
    - When ending under-invalidation checking for a subsequence containing
      cache skipping display items, set next_item_to_match_ and next_item_to_index_
      to let remaining display items match normally.
    - Fix DCHECK failure when ending an empty subsequence in a cached
      subsequence.
    - Fix bug that under-invalidation checking of a parent subsequence
      was end by a child subsequence.
    
    Original change's description:
    > Revert "Fix false-positives of under-invalidation checking in layout tests"
    > 
    > This reverts commit 206bdc85.
    > 
    > Reason for revert:
    > 
    > Several paint-related tests have begun crashing on "Linux Trusty (dbg)" after landing this patch, flakily hitting a CHECK in
    > `PaintController.cpp` (see the log in 
    > https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty__dbg_/5565/layout-test-results/paint/invalidation/video-mute-repaint-stderr.txt).
    > It looks like this kind of crash happened while landing the patch as
    > well, at least on https://storage.googleapis.com/chromium-layout-test-archives/linux_layout_tests_slimming_paint_v2/6682/layout-test-results/results.html).
    > I'll revert it.
    > 
    > 
    > Original change's description:
    > > Fix false-positives of under-invalidation checking in layout tests
    > > 
    > > In the following few cases we intentionally allow under-invalidations in
    > > cached subsequences:
    > > - offscreen image animation
    > > - media buffered range
    > > 
    > > We intentionally don't update each time the contents change to improve
    > > performance or avoid complex implementation of real time change
    > > notification.
    > > 
    > > Now allow cache skipping in cached subsequences.
    > > 
    > > Enable under-invalidation checking for tests that would have reported
    > > under-invalidation with the checking enabled.
    > > 
    > > This also helps clusterfuzz not to trigger under-invaldiation checking
    > > failures when it creates a test for the above cases.
    > > 
    > > Bug: 769729
    > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
    > > Change-Id: I2149e9d2304dbad5d7486c822d5452c5dba237fe
    > > Reviewed-on: https://chromium-review.googlesource.com/690851
    > > Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
    > > Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
    > > Cr-Commit-Position: refs/heads/master@{#505281}
    > 
    > TBR=wangxianzhu@chromium.org,chrishtr@chromium.org
    > 
    > Change-Id: Id0ddbc90d9cf4436fe10dc81485d9f13edef6f1a
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: 769729, 769879
    > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
    > Reviewed-on: https://chromium-review.googlesource.com/691814
    > Reviewed-by: Mike West <mkwst@chromium.org>
    > Commit-Queue: Mike West <mkwst@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#505327}
    
    Change-Id: Idd2cd531d8fb6ac7b1a7e0330e69c2e8c93f6c33
    Bug: 769729, 769772
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
    Reviewed-on: https://chromium-review.googlesource.com/692495
    Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
    Reviewed-by: default avatarChris Harrelson <chrishtr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#506110}
    25eefe8e
video-mute-repaint.html 648 Bytes