Summary: | Slow image load causes render problem. | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Dennis Rowe <shr3kst3r> | ||||||||
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | gruber, info, mitz | ||||||||
Priority: | P2 | Keywords: | HasReduction | ||||||||
Version: | 420+ | ||||||||||
Hardware: | Mac | ||||||||||
OS: | OS X 10.4 | ||||||||||
Attachments: |
|
Description
Dennis Rowe
2006-01-25 10:58:58 PST
Created attachment 5951 [details]
Bug Example
Here is the example of the bug.
Confirmed, this needs more reduction. Created attachment 6542 [details]
Reduced testcase
Created attachment 6545 [details]
Proposed patch
The test is pixels-only since the render tree was correct.
Comment on attachment 6545 [details]
Proposed patch
Looks right to me, but this is one Hyatt should review.
Comment on attachment 6545 [details]
Proposed patch
I will need to think about this. My gut says this is overkill, but my gut has been wrong before. :)
The reason I'm nervous here is we had some horribly pathological behavior (as in pages with nested divs and complex float/margin combinations causing Safari to beachball) that the yPosEstimate stuff helped to prevent, and doing too much of the heavyweight marking can send you into a death spiral of relayout. I do think this is probably on the right track and maybe just needs a little refinement. One problem I see is that won't this get triggered on the initial layout of elements, since oldChildY will be 0? As Hyatt suggested on IRC, I ran the layout tests and logged the ones where the additional marking was done: css1/box_properties/acid_test css1/box_properties/float css2.1/t09-c5526c-display-00-e css2.1/t0905-c414-flt-fit-01-d-g css2.1/t0905-c5525-fltmult-00-d-g fast/block/basic/011 fast/block/float/016 fast/block/float/024 fast/block/float/031 fast/block/margin-collapse/045 fast/block/margin-collapse/063 fast/css-generated-content/012 I'm not sure I see the problem with initial layout. Wouldn't all descendants be marked for layout anyway? Comment on attachment 6545 [details]
Proposed patch
r=me, make sure we have some good tests for this.
|