This source file includes following definitions.
- shouldComputeSizeAsReplaced
- isInlineBlockOrInlineTable
- layerTypeRequired
- contentRootRenderer
- layout
#include "config.h"
#include "core/rendering/RenderIFrame.h"
#include "HTMLNames.h"
#include "core/frame/FrameView.h"
#include "core/frame/LocalFrame.h"
#include "core/html/HTMLIFrameElement.h"
#include "core/rendering/LayoutRectRecorder.h"
#include "core/rendering/RenderView.h"
namespace WebCore {
using namespace HTMLNames;
RenderIFrame::RenderIFrame(Element* element)
: RenderPart(element)
{
}
bool RenderIFrame::shouldComputeSizeAsReplaced() const
{
return true;
}
bool RenderIFrame::isInlineBlockOrInlineTable() const
{
return isInline();
}
LayerType RenderIFrame::layerTypeRequired() const
{
LayerType type = RenderPart::layerTypeRequired();
if (type != NoLayer)
return type;
if (style()->resize() != RESIZE_NONE)
return NormalLayer;
return ForcedLayer;
}
RenderView* RenderIFrame::contentRootRenderer() const
{
ASSERT(!widget() || widget()->isFrameView());
FrameView* childFrameView = toFrameView(widget());
return childFrameView ? childFrameView->frame().contentRenderer() : 0;
}
void RenderIFrame::layout()
{
ASSERT(needsLayout());
LayoutRectRecorder recorder(*this);
updateLogicalWidth();
updateLogicalHeight();
m_overflow.clear();
addVisualEffectOverflow();
updateLayerTransform();
clearNeedsLayout();
}
}