Bug 65376

Summary: Split RenderBlock::layoutRunsAndFloats into multiple methods
Product: WebKit Reporter: Alexandru Chiculita <achicu>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dglazkov, hyatt, mihnea, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
webkit.review.bot: commit-queue-
Patch
none
Rebased patch none

Description Alexandru Chiculita 2011-07-29 07:19:34 PDT
RenderBlock::layoutRunsAndFloats has a couple of different parts:
1. Determines the first dirty line
2. Detaches the lines starting from the first dirty line
3. Finds the last dirty line
4. Computes the lines starting with the first dirty lines. Also tries to match the last line, or at least somewhere near that.
5. If the last line was matched it links it with the new generated lines.
6. Fix floats after the last line.
7. Repaint some floats that needed repaint during layout

Steps 1, 2, 3 are extracted into separate methods, but 4 and 5 are quite long and still part of RenderBlock::layoutRunsAndFloats.
This patch should extract 4, 5-6 and 7 into 3 separate methods.

It should also help fix bug https://bugs.webkit.org/show_bug.cgi?id=61303, which triggers a position change for a float changes in steps 5 and 6. That happens when doing multi-column incremental layout and the floats have to move from one column to another. It should be much easier to repeat steps from 3 to 6 if it is required to do so.
Comment 1 Alexandru Chiculita 2011-07-29 07:26:58 PDT
Created attachment 102360 [details]
Patch
Comment 2 WebKit Review Bot 2011-07-29 08:37:00 PDT
Comment on attachment 102360 [details]
Patch

Attachment 102360 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9262556

New failing tests:
fast/repaint/line-flow-with-floats-6.html
Comment 3 Alexandru Chiculita 2011-07-29 11:44:03 PDT
Created attachment 102378 [details]
Patch
Comment 4 Alexandru Chiculita 2011-08-02 07:48:58 PDT
Created attachment 102651 [details]
Rebased patch
Comment 5 Dave Hyatt 2011-08-02 10:05:20 PDT
Comment on attachment 102651 [details]
Rebased patch

r=me
Comment 6 WebKit Review Bot 2011-08-02 11:07:45 PDT
Comment on attachment 102651 [details]
Rebased patch

Clearing flags on attachment: 102651

Committed r92207: <http://trac.webkit.org/changeset/92207>
Comment 7 WebKit Review Bot 2011-08-02 11:07:49 PDT
All reviewed patches have been landed.  Closing bug.