Chromium Code Reviews
DescriptionAvoid unnecessary cell layout on nested percent height tables
In the test, the nested percent height tables mean that each cell will get at
least three layouts (LayoutTableRow::layout(),calcRowLogicalHeight(), layoutRows())
during the layout of the section - and this cascades down the tree with the lowest
children getting hundreds of repeated layouts.
This inefficiency has always been there, we've just introduced it for the
percent height situation with crrev.com/2441373002.
To avoid this don't bother computing the height of the section based on row sizes (calcRowLogicalHeight()),
unless the section itself needed a layout - the previously calculated value will do.
The only complication this introduces is: any extra logical height from the
table that we previously discarded when distributing to the rows we will now
try to distribute again. This can change the size of the section and cause extra
paints.
BUG=687061
Review-Url: https://codereview.chromium.org/2670603002
Cr-Commit-Position: refs/heads/master@{#449101}
(cherry picked from commit d3ceb0147ad9f4d4a9b41cea0362d6221cb72302)
Review-Url: https://codereview.chromium.org/2692083002 .
Cr-Commit-Position: refs/branch-heads/2987@{#485}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}
Committed: https://chromium.googlesource.com/chromium/src/+/6956d4ec3f63e0fec4100bcbe6f502d111b189e7
Patch Set 1 #
Messages
Total messages: 2 (1 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||