[BlinkGenPropertyTrees] Stop incorrect clearing of property tree changed
PaintPropertyTreeNode::Changed is used for in-layer raster invalidation, and cc damage for both SPV2 and BGPT. https://crrev.com/606472 failed to account for the case when non-transient paint controllers in GraphicsLayers would clear property tree changed values before the values could be used for damage. As a reminder, with BlinkGenPropertyTrees, each GraphicsLayer keeps a non-transient paint controller, and at the end of painting a transient paint controller is created and each GraphicsLayer's cc::Layer is inserted as a foreign layer into the transient paint controller. This patch changes BGPT to clear all property tree changed bits after damage has been calculated in PaintArtifactCompositor. It is implemented with a recursive walk of the GraphicsLayer tree. Bug: 899628 Change-Id: Ibc7d65d6ab8875508b9c3dd18ab6db1230bf1308 Reviewed-on: https://chromium-review.googlesource.com/c/1327804 Commit-Queue: Philip Rogers <pdr@chromium.org> Reviewed-by:Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#606874}
Showing
Please register or sign in to comment