Bug 111363 - [New Multicolumn] Autogenerate regions for columns
Summary: [New Multicolumn] Autogenerate regions for columns
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dave Hyatt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-04 14:05 PST by Dave Hyatt
Modified: 2013-03-05 10:07 PST (History)
5 users (show)

See Also:


Attachments
Patch (35.25 KB, patch)
2013-03-04 14:20 PST, Dave Hyatt
dino: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.