Bug 107570
Summary: | [CSS Exclusions] Add firstIncludedIntervalLogicalTop special case optimization. | ||
---|---|---|---|
Product: | WebKit | Reporter: | Hans Muller <giles_joplin> |
Component: | CSS | Assignee: | Hans Muller <giles_joplin> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | ||
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | 103429 | ||
Bug Blocks: |
Hans Muller
In many cases a simple check of the first fit locations at the intersection between the polygon and the horizontal lines at minLogicalIntervalTop and minLogicalIntervalTop + minLogicalIntervalSize.height() will yield the optimal first fit location. This is a relatively cheap test and should be done before creating offset edges, etc.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Hans Muller
This already happens as a consequence of the layout logic. RenderBlock::layoutRunsAndFloatsInRange() attempts to layout the line at the nominal logicalTop location and then, if nothing fits at that location
it uses adjustLogicalLineTop() to compute the "first fit" location and restartLayoutRunsAndFloatsInRange() to get the layout going again, with the new logicalTop.