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
<rdar://problem/59744384>