DescriptionMove computation of RenderLayer::isUnclippedDescendant into CompositingPropertyUpdater
Prior to this CL, we computed RenderLayer::isUnclippedDescendant in a separate
O(n^2) walk of the out-of-flow RenderLayers. On workloads like famo.us, this
walk is quite expensive because everything is out-of-flow positioned, and
O(n^2) is large.
After this CL, we compute this information as we walk down the tree in the
CompositingPropertyUpdater, which means we can compute the information in
linear time and we can entirely remove the separate tree walk. Moving this
computation also lets us rip out a large amount of machinery that existed to
prune the extra tree walk that this CL removes.
Now that we compute this information with the CompositingPropertyUpdater,
we compute it even when composited overflow scrolling is off. This confused
some tests that used Internals to poke this state. I've added a workaround to
keep theses tests working identically. I'll remove the work around and update
the tests in the next CL.
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=175225
Patch Set 1 #Patch Set 2 : polish #
Total comments: 2
Patch Set 3 : less assert #
Total comments: 4
Messages
Total messages: 8 (0 generated)
|