Bug 60052

Summary: Split out layoutRunsAndFloats from layoutInlineChildren
Product: WebKit Reporter: Eric Seidel (no email) <eric>
Component: New BugsAssignee: Eric Seidel (no email) <eric>
Status: RESOLVED FIXED    
Severity: Normal CC: jamesr, rniwa, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 36921    
Attachments:
Description Flags
Patch
none
Patch
none
Patch for landing eric: commit-queue+

Description Eric Seidel (no email) 2011-05-03 12:36:47 PDT
Split out layoutRunsAndFloats from layoutInlineChildren
Comment 1 Eric Seidel (no email) 2011-05-03 12:37:47 PDT
Created attachment 92106 [details]
Patch
Comment 2 Eric Seidel (no email) 2011-05-03 12:38:06 PDT
The goal here was to move the smallest amount of code possible towards re-building James' patch.
Comment 3 Eric Seidel (no email) 2011-05-03 12:51:50 PDT
Comment on attachment 92106 [details]
Patch

OK.  This causes 
fast/repaint/line-flow-with-floats-9.html to fail.  I suspect that its due to the re-ordering of the determineStartPosition call relative to the repaintUsingContainer code.
Comment 4 Ryosuke Niwa 2011-05-03 12:55:05 PDT
Comment on attachment 92106 [details]
Patch

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

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:750
> +    0 : determineEndPosition(startLine, floats, floatIndex, cleanLineStart, cleanLineBidiStatus, endLineLogicalTop);

Nit: Indent here.

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:779
> +            if (!lastObject->isBR())
> +                lastObject = lastRootBox()->firstLeafChild()->renderer();
> +            if (lastObject->isBR()) {

Can we combine these if statements?

> Source/WebCore/rendering/RenderBlockLineLayout.cpp:1100
> -        RootInlineBox* startLine = determineStartPosition(firstLine, fullLayout, previousLineBrokeCleanly, resolver, floats, floatIndex,
> -                                                          useRepaintBounds, repaintLogicalTop, repaintLogicalBottom);
> -
>          if (fullLayout && hasInlineChild && !selfNeedsLayout()) {

Should it matter that we call determineStartPosition after setting the layout dirty?
Comment 5 Eric Seidel (no email) 2011-05-03 14:03:44 PDT
Created attachment 92124 [details]
Patch
Comment 6 Eric Seidel (no email) 2011-05-03 14:47:44 PDT
Created attachment 92135 [details]
Patch for landing
Comment 7 WebKit Review Bot 2011-05-03 14:56:19 PDT
Attachment 92135 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1

Source/WebCore/rendering/RenderBlockLineLayout.cpp:769:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/rendering/RenderBlockLineLayout.cpp:775:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/WebCore/rendering/RenderBlockLineLayout.cpp:785:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/WebCore/rendering/RenderBlockLineLayout.cpp:1092:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Total errors found: 4 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 8 Eric Seidel (no email) 2011-05-03 15:11:57 PDT
Committed r85668: <http://trac.webkit.org/changeset/85668>