Bug 148814 - break-after: column is not supported
Summary: break-after: column is not supported
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dave Hyatt
URL:
Keywords: InRadar, WebExposed
Depends on:
Blocks:
 
Reported: 2015-09-04 12:56 PDT by Ryosuke Niwa
Modified: 2016-06-03 14:37 PDT (History)
11 users (show)

See Also:


Attachments
Patch (89.52 KB, patch)
2016-01-29 09:54 PST, Dave Hyatt
no flags Details | Formatted Diff | Diff
Patch (89.31 KB, patch)
2016-01-29 10:15 PST, Dave Hyatt
no flags Details | Formatted Diff | Diff
Patch (89.77 KB, patch)
2016-01-29 10:18 PST, Dave Hyatt
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews100 for mac-yosemite (981.99 KB, application/zip)
2016-01-29 11:06 PST, Build Bot
no flags Details
Patch (90.36 KB, patch)
2016-01-29 11:09 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 Ryosuke Niwa 2015-09-04 12:56:22 PDT
See http://www.w3.org/TR/css3-multicol/#break-after

LayoutTests/imported/w3c/css/css-multicol-1/multicol-break-000.xht fails because of this.
Comment 1 Radar WebKit Bug Importer 2015-09-04 12:57:07 PDT
<rdar://problem/22582578>
Comment 2 Ryosuke Niwa 2015-09-04 13:12:07 PDT
imported/w3c/css/css-multicol-1/multicol-break-001.xht also fails due to the lack of support of break-before: column.
Comment 3 Dave Hyatt 2016-01-29 09:45:35 PST
multicol-break-001.xht is an invalid test. It assumes that a break position can occur between the multicolumn parent and its first child, but this violates the spec, which states that breaks should only occur between siblings.
Comment 4 Dave Hyatt 2016-01-29 09:54:02 PST
Created attachment 270217 [details]
Patch
Comment 5 Dave Hyatt 2016-01-29 10:15:52 PST
Created attachment 270220 [details]
Patch
Comment 6 Dave Hyatt 2016-01-29 10:18:14 PST
Created attachment 270221 [details]
Patch
Comment 7 WebKit Commit Bot 2016-01-29 10:24:56 PST
Attachment 270221 [details] did not pass style-queue:


ERROR: Source/WebCore/css/CSSPrimitiveValueMappings.h:2286:  Wrong number of spaces before statement. (expected: 4)  [whitespace/indent] [4]
ERROR: Source/WebCore/rendering/style/RenderStyleConstants.h:481:  The parameter name "between" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 52 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 8 Build Bot 2016-01-29 11:06:26 PST
Comment on attachment 270221 [details]
Patch

Attachment 270221 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/756098

New failing tests:
fast/css/style-enumerate-properties.html
Comment 9 Build Bot 2016-01-29 11:06:29 PST
Created attachment 270224 [details]
Archive of layout-test-results from ews100 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 10 Dave Hyatt 2016-01-29 11:09:29 PST
Created attachment 270225 [details]
Patch
Comment 11 Morten Stenshorne 2016-01-29 12:33:30 PST
Comment on attachment 270225 [details]
Patch

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

Not a complete review or anything. Just stumbled across one thing.

> Source/WebCore/rendering/RenderBlock.cpp:3537
> +        || (checkColumnBreaks && child.style().breakInside() == AvoidColumnBreakInside)

Shouldn't you check for AvoidBreakInside as well?
(also in checkPageBreaks and checkRegionBreaks)
Comment 12 Dave Hyatt 2016-01-29 14:01:24 PST
Comment on attachment 270225 [details]
Patch

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

> Source/WebCore/rendering/RenderBlock.cpp:3536
> +    return child.isUnsplittableForPagination() || child.style().breakInside() == AvoidBreakInside

It's checked on this line above.
Comment 13 Dean Jackson 2016-01-29 15:30:14 PST
Comment on attachment 270225 [details]
Patch

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

We should add these new values to the inspector completion list too.

> Source/WebCore/rendering/RenderBlockFlow.cpp:1495
> +    bool checkBeforeAlways = (checkColumnBreaks && child.style().breakBefore() == ColumnBreakBetween)
> +        || (checkPageBreaks && alwaysPageBreak(child.style().breakBefore()))
> +        || (checkRegionBreaks && child.style().breakBefore() == RegionBreakBetween);

I wonder if we should have "auto childBreakBeforeStyle = child.style().breakBefore();" although it isn't really any shorter.
Comment 14 Dave Hyatt 2016-01-30 07:29:37 PST
Landed in r195892. I'll file a followup bug to do the Web Inspector work.