Bug 208161 - [Frame flattening] When the iframe content schedules layout, it should also mark the owner renderer dirty
Summary: [Frame flattening] When the iframe content schedules layout, it should also m...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-02-24 15:47 PST by zalan
Modified: 2020-02-24 15:48 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zalan 2020-02-24 15:47:38 PST
In the frame flattening context when optional layout is delayed, getComputedStyle() might return the un-flattened geometry unless the iframe element is forced to get laid out.
        
1. main frame content is loaded and laid out -> if the iframe content is not ready yet, we don't initiate iframe flattening.
2. iframe content is ready -> layout is scheduled.
3. getComputedStyle() is called which initiates a style update/layout on the main frame, but only dirty boxes trigger layout (the iframe renderer itself is not dirty <- this is where frame flattening fails)
4. getComputedStyle() returns with the "stale" geometry.

See fast/frames/flattening/iframe-tiny.html
Comment 1 Radar WebKit Bug Importer 2020-02-24 15:48:03 PST
<rdar://problem/59744384>