DescriptionRemove unnecessary full-subtree layouts for filtered SVG containers
The presence of a filter on a container (or the SVG root) would force
a layout of the entire subtree if any child needed a layout. This used
to serve the purpose of making sure that the entire subtree would get
repainted (an artifact of how 'filter' is handled on SVG elements.)
With the current paint invalidation system, this should however make
no practical difference, since the layout of the subtree will only
end up marking descendant LayoutObjects as "maybe needing paint
invalidation" - which the ones that didn't actually change don't - and
hence for these nothing will be invalidated.
The container itself will be invalidated via the call to
SVGResourcesCache::clientLayoutChanged, which will mark it for paint
invalidation if it has instantiated a filter resource.
BUG=603956
Committed: https://crrev.com/b6a48975dfe23cf5721c0712052057112055cabb
Cr-Commit-Position: refs/heads/master@{#389283}
Patch Set 1 #Patch Set 2 : Rebase #
Messages
Total messages: 8 (3 generated)
|