WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
127565
[New Multicolumn] Eliminate RenderMultiColumnBlock
https://bugs.webkit.org/show_bug.cgi?id=127565
Summary
[New Multicolumn] Eliminate RenderMultiColumnBlock
Dave Hyatt
Reported
2014-01-24 10:22:02 PST
Fold the RenderMultiColumnBlock back into RenderBlockFlow so that all block flows have multi-column capability (including table cells, list items and the RenderView).
Attachments
Patch
(54.94 KB, patch)
2014-01-24 10:27 PST
,
Dave Hyatt
koivisto
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Dave Hyatt
Comment 1
2014-01-24 10:27:57 PST
Created
attachment 222117
[details]
Patch
WebKit Commit Bot
Comment 2
2014-01-24 10:30:36 PST
Attachment 222117
[details]
did not pass style-queue: ERROR: Source/WebCore/rendering/RenderBlockFlow.cpp:3200: Should have only a single space after a punctuation in a comment. [whitespace/comments] [5] ERROR: Source/WebCore/rendering/RenderBlockFlow.cpp:3208: Should have only a single space after a punctuation in a comment. [whitespace/comments] [5] Total errors found: 2 in 8 files If any of these errors are false positives, please file a bug against check-webkit-style.
Antti Koivisto
Comment 3
2014-01-24 10:35:29 PST
Comment on
attachment 222117
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=222117&action=review
> Source/WebCore/rendering/RenderBlockFlow.cpp:3214 > + if (minColumnCount >= desiredColumnCount) { > + // The forced page breaks are in control of the balancing. Just set the column height to the > + // maximum page break distance. > + if (!pageLogicalHeight) { > + LayoutUnit distanceBetweenBreaks = std::max<LayoutUnit>(colInfo->maximumDistanceBetweenForcedBreaks(), > + view().layoutState()->pageLogicalOffset(this, borderAndPaddingBefore() + layoutOverflowLogicalBottom) - colInfo->forcedBreakOffset()); > + columnHeight = std::max(colInfo->minimumColumnHeight(), distanceBetweenBreaks); > + }
This is getting deep, helper functions might be useful.
> Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:125 > - RenderMultiColumnBlock* parentBlock = toRenderMultiColumnBlock(parent()); > + RenderBlockFlow* parentBlock = toRenderBlockFlow(parent());
i would just use auto, toRenderBlockFlow already names the type. parentFlow would be a more informative variable name.
> Source/WebCore/rendering/RenderMultiColumnSet.cpp:48 > - RenderMultiColumnBlock* multicolBlock = toRenderMultiColumnBlock(parent()); > + RenderBlockFlow* multicolBlock = toRenderBlockFlow(parent());
same here, 'multicolumnFlow'
> Source/WebCore/rendering/RenderMultiColumnSet.cpp:202 > + RenderBlockFlow* parentBlock = toRenderBlockFlow(parent());
same here
> Source/WebCore/rendering/RenderMultiColumnSet.cpp:224 > - RenderMultiColumnBlock* multicolBlock = toRenderMultiColumnBlock(parent()); > + RenderBlockFlow* multicolBlock = toRenderBlockFlow(parent());
same here
> Source/WebCore/rendering/RenderMultiColumnSet.cpp:268 > + RenderBlockFlow* parentBlock = toRenderBlockFlow(parent());
same here
Dave Hyatt
Comment 4
2014-01-24 11:51:16 PST
Landed in
r162712
(with additional fix for GTK makefile).
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug