In CSS Regions, we lay out the regions first, and then we put the flow thread into the regions. This model doesn't really work for multicolumn layout, which needs to be able to generate new regions lazily in response to the flow thread asking for regions at particular offsets. This bug is about changing over to this layout model for sets only, i.e., the regions get generated lazily by the flow thread, and they get an initial sizing (but not placement). They then get placed by laying out *after* the flow thread rather than before. With the multi-column model, where the regions can't just occur anywhere, its ok not to lay them out before the flow thread, as long as we have at least given them the correct size.
Created attachment 191308 [details] Patch
Comment on attachment 191308 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=191308&action=review > Source/WebCore/ChangeLog:137 > + Don't ever invalidate regions in response to our size changing during layout. Since I guess this refers to regions that are RenderRegionSet only. > Source/WebCore/rendering/RenderMultiColumnBlock.cpp:116 > } Is the comment above about "always putting the flow thread at the end" still valid with the new implementation?
(In reply to comment #2) > (From update of attachment 191308 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=191308&action=review > > > Source/WebCore/ChangeLog:137 > > + Don't ever invalidate regions in response to our size changing during layout. Since > > I guess this refers to regions that are RenderRegionSet only. > Yeah, I'll change that to "region sets". > > Source/WebCore/rendering/RenderMultiColumnBlock.cpp:116 > > } > > Is the comment above about "always putting the flow thread at the end" still valid with the new implementation? It's not. Will remove.
Fixed in r144773.