Bug 128555

Summary: [New Multicolumn] Make columns work with line grids
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: Layout and RenderingAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, esprehn+autocc, glenn, kondapallykalyan, mstensho, syoichi
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch koivisto: review+

Description Dave Hyatt 2014-02-10 14:37:11 PST
Make columns work with line grids. They need to set up the line grid pagination origin properly, and regions/flow threads have a bug or two that needs to be fixed.
Comment 1 Dave Hyatt 2014-02-10 14:43:18 PST
Created attachment 223752 [details]
Patch
Comment 2 Simon Fraser (smfr) 2014-02-10 15:21:15 PST
Comment on attachment 223752 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=223752&action=review

> Source/WebCore/rendering/LayoutState.h:89
> +    LayoutSize pageOffset() const { return m_pageOffset; }

Is this really offsetFromPage()? that would be a clearer name than pageOffset (which could be the offset of a page).
Comment 3 Dave Hyatt 2014-02-10 21:38:13 PST
(In reply to comment #2)
> (From update of attachment 223752 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=223752&action=review
> 
> > Source/WebCore/rendering/LayoutState.h:89
> > +    LayoutSize pageOffset() const { return m_pageOffset; }
> 
> Is this really offsetFromPage()? that would be a clearer name than pageOffset (which could be the offset of a page).

It's actually really complicated what that represents. It is the cumulative offset of the logical top of the first page within the layout state. I agree it needs a better name, but should probably be a separate patch, since it's a member variable and that term is used all over.
Comment 4 Morten Stenshorne 2014-02-11 02:10:52 PST
Comment on attachment 223752 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=223752&action=review

> Source/WebCore/rendering/LayoutState.cpp:-227
> -void LayoutState::computeLineGridPaginationOrigin(RenderBox* renderer)

Should remove the method declaration from the .h file too.

> Source/WebCore/rendering/RenderBox.cpp:-4414
> -        || isMultiColumnBlockFlow();

With this change, isMultiColumnBlockFlow() will become unused, won't it?
Anyway, I wonder if you should keep it here, since paginating a multicol still doesn't work.
Comment 5 Dave Hyatt 2014-02-11 08:47:05 PST
Landed in r163878