Bug 68922

Summary: Paginated floats should not grow the height of a block when they don't end up being tied to a line.
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: Layout and RenderingAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal CC: eoconnor
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch mitz: review+

Dave Hyatt
Reported 2011-09-27 11:47:14 PDT
Paginated floats should not grow the height of a block when they don't end up being tied to a line. Floats encountered in skipLeadingWhitespace that paginate can't immediately grow the height of the block, since there may not end up being any actual line content. We only want to push the height of the block down if we have actual line content that we want to keep with the float.
Attachments
Patch (80.38 KB, patch)
2011-09-27 11:50 PDT, Dave Hyatt
mitz: review+
Dave Hyatt
Comment 1 2011-09-27 11:50:12 PDT
mitz
Comment 2 2011-09-27 12:41:17 PDT
Comment on attachment 108877 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=108877&action=review > Source/WebCore/rendering/RenderBlockLineLayout.cpp:2696 > + lineInfo.setFloatPaginationStrut(lineInfo.floatPaginationStrut() + paginationStrut); I am surprised, without looking at the rest of the code, that the right thing to do here is to add, not to max(). It would be nice to have a test case with two floats that exercises this.
Dave Hyatt
Comment 3 2011-09-27 13:39:55 PDT
(In reply to comment #2) > (From update of attachment 108877 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=108877&action=review > > > Source/WebCore/rendering/RenderBlockLineLayout.cpp:2696 > > + lineInfo.setFloatPaginationStrut(lineInfo.floatPaginationStrut() + paginationStrut); > > I am surprised, without looking at the rest of the code, that the right thing to do here is to add, not to max(). It would be nice to have a test case with two floats that exercises this. Adding is correct. A double pagination push can really only be triggered when the height of the pages is non-uniform, so really we're talking about a CSS regions edge case. I added this test case so that the code is exercised and landed the patch in r96149.
Note You need to log in before you can comment on or make changes to this bug.