Let fragmentation algorithms create additional fragmentainers.
When creating additional pages after regular layout to hold tall OOFs, instead letting OutOfFlowLayoutPart do it on its own, let PaginatedRootLayoutAlgorithm and ColumnLayoutAlgorithm handle it. Implementing @page properties and margins [1] will make creation of additional pages less straight-forward than it is today, and duplicating the logic in OutOfFlowLayoutPart doesn't make sense. OutOfFlowLayoutPart::LayoutOOFsInFragmentainer() will now first make sure that the desired fragmentainer exists, as a separate step, and then mutate it with new OOFs. This allows us to move some stuff from SimplifiedOofLayoutAlgorithm() into a separate function, and only call that one when actually creating an empty column. Not needed otherwise (not needed for pagination, not needed when building for mutation). No behavior changes intended. [1] See crbug.com/40341678 Change-Id: If4b2915c802ee1f7243048d38dbe7b2118de88ec Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5419198 Reviewed-by:Alison Maher <almaher@microsoft.com> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1282327}
Loading
Please register or sign in to comment