Bug 86770 - Move logic of checking whether a frame needs to be flattened to RenderFrameBase.
Summary: Move logic of checking whether a frame needs to be flattened to RenderFrameBase.
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: zalan
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-17 13:08 PDT by zalan
Modified: 2012-05-17 13:08 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zalan 2012-05-17 13:08:37 PDT
So that flattening checking code can somewhat be shared between frameset and iframe. That would eliminate the need of early return and mimicking non-flattening layout case in RenderFrameBase::layoutWithFlattening(), which can get (and is) out of sync in case of iframe layouting.
See below.

RenderFrameBase::layoutWithFlattening(...)
{
...
    if (!width() || !height() || !childRoot) {
        updateWidgetPosition();
        if (childFrameView)
            childFrameView->layout();
        setNeedsLayout(false);
        return;
...
}

vs.

RenderIFrame::layout() 
{
...
    RenderPart::layout();

    m_overflow.clear();
    addVisualEffectOverflow();
    updateLayerTransform();
    setNeedsLayout(false);
...
}