Currently, a repaint test like the following:
testRunner.layoutAndPaintAsyncThen(repaintTest);
In order to catch repaint errors in the later stages of the rendering pipeline, now we also run most repaint tests as pixel tests or reference tests.
However, testRunner.layoutAndPaintAsyncThen() doesn't run the whole rendering pipeline. For example, it doesn't cover rasterization. This causes we can't catch errors of rasterization invalidation.
For example, a repaint test requires a full viewport invalidation, but erroneously just invalidates a small part of the viewport.This doesn't necessarily cause wrong pixels (suppose recording invalidation is correct) because we may run repaintTest before rasterization of the initial state, and the final rasterization for pixel dump just rasterize the whole viewport.
I would like to change layoutAndPaintAsyncThen() to compositeThen() so that repaintTest() is called after the whole rendering pipeline for initial state is finished.
Comment 1 by wangxianzhu@chromium.org
, Jun 6 2016