[LayoutNG] Remove out_floats_for_min_max from NGLineBreaker
This patch removes |out_floats_for_min_max| from |NGLineBreaker|. The caller instead computes the list of unpositioned floats from |NGLineInfo::Results()|. This change is needed for fixes for crbug.com/10118167 and crbug.com/1001000, but does not fix them. Fixes some cases of |ComputeContentSize()| DCHECK failures in crbug.com/976304, but maybe not all. |out_floats_for_min_max| was originally added in r619070 (crrev.com/c/1365984) to keep track of unpositioned floats. But today, |NGLineInfo::Results()| has all unpositioned floats. Furthermore, changing rewind logic for crbug.com/10118167 caused several tests to fail because we don't adjust |out_floats_for_min_max| when we rewind. This patch avoids mismatch of the two lists by unifying them. blink_perf.layout looks neutral: https://pinpoint-dot-chromeperf.appspot.com/job/108a2986c20000 Current assumption is that looping items isn't too expensive, but we could add a flag to |NGLineInfo| if this loop turned out to be more expensive in some cases. Bug: 976304, 10118167, 1001000 Change-Id: I4a5cb98f5dc6d331a699991390d7bd97ce51cd34 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1857844 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by:Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#705820}
Showing
Please register or sign in to comment