Descriptioncc: Dirty the RenderSurfaceLayerList when taking copy requests.
When removing copy requests from a LayerImpl to fulfill the request,
this changes the RenderSurfaceLayerList that CalculateDrawProperties
would output. In particular, the layer would no longer keep itself as a
render target.
Since we fail to do this, the layer becomes !HasCopyRequest(), but keeps
itself as a target in the RenderSurfaceLayerList. Then when we go to
draw again (due to an animation or the like?) we skip appending the
layer's RenderPass since the subtree is hidden, but the layer is still
in the RenderSurfaceLayerList because we didn't recompute draw properties
and the layer copy request was keeping the hidden layer in the list.
This cognitive dissonance causes us to use a null RenderPass as
the target_render_pass in CalculateRenderPasses, which causes a crash as
soon as the (hidden) layer tries to append quads to the null surface.
R=vmpstr, weiliangc@chromium.org
BUG=439649
Committed: https://crrev.com/0cf9539d2a86d2a666d53c8e5154a8382a964370
Cr-Commit-Position: refs/heads/master@{#313733}
Patch Set 1 #
Messages
Total messages: 7 (1 generated)
|