Bug 111363

Summary: [New Multicolumn] Autogenerate regions for columns
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: Layout and RenderingAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal CC: eric, esprehn+autocc, ojan.autocc, WebkitBugTracker, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch dino: review+

Description Dave Hyatt 2013-03-04 14:05:30 PST
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.
Comment 1 Dave Hyatt 2013-03-04 14:20:55 PST
Created attachment 191308 [details]
Patch
Comment 2 Mihnea Ovidenie 2013-03-05 05:45:02 PST
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?
Comment 3 Dave Hyatt 2013-03-05 09:13:15 PST
(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.
Comment 4 Dave Hyatt 2013-03-05 10:07:43 PST
Fixed in r144773.