Bug 110392 - [New Multicolumn] Fix overflow computation for column blocks
Summary: [New Multicolumn] Fix overflow computation for column blocks
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-02-20 15:10 PST by Dave Hyatt
Modified: 2013-02-21 00:28 PST (History)
5 users (show)

See Also:


Attachments
Patch (8.54 KB, patch)
2013-02-20 15:13 PST, Dave Hyatt
simon.fraser: 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-02-20 15:10:24 PST
Fix the overflow computation for column blocks to avoid adding in the RenderFlowThread. Make sure the auto logical height regions code doesn't incorrectly kick in for columns.
Comment 1 Dave Hyatt 2013-02-20 15:13:36 PST
Created attachment 189390 [details]
Patch
Comment 2 Simon Fraser (smfr) 2013-02-20 16:27:58 PST
Comment on attachment 189390 [details]
Patch

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

> Source/WebCore/rendering/RenderRegion.h:143
> +    virtual bool shouldHaveAutoLogicalHeight() const
>      {
>          bool hasSpecifiedEndpointsForHeight = style()->logicalTop().isSpecified() && style()->logicalBottom().isSpecified();
>          bool hasAnchoredEndpointsForHeight = isOutOfFlowPositioned() && hasSpecifiedEndpointsForHeight;
>          return style()->logicalHeight().isAuto() && !hasAnchoredEndpointsForHeight;
>      }

This should not be in the header now that it's virtual.
Comment 3 Dave Hyatt 2013-02-20 18:04:22 PST
Fixed in r143546.
Comment 4 Mihai Maerean 2013-02-21 00:28:14 PST
Comment on attachment 189390 [details]
Patch

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

> Source/WebCore/rendering/RenderRegion.h:141
>          bool hasAnchoredEndpointsForHeight = isOutOfFlowPositioned() && hasSpecifiedEndpointsForHeight;

just as a note, the code will run faster if we invert the boolean condition (hasSpecifiedEndpointsForHeight && isOutOfFlowPositioned()) to avoid calling isOutOfFlowPositioned() if hasSpecifiedEndpointsForHeight is false.
this is also true for the next line of code.