summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderFullScreen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderFullScreen.cpp')
-rw-r--r--Source/WebCore/rendering/RenderFullScreen.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/WebCore/rendering/RenderFullScreen.cpp b/Source/WebCore/rendering/RenderFullScreen.cpp
index 1d689f5c9..e0507388d 100644
--- a/Source/WebCore/rendering/RenderFullScreen.cpp
+++ b/Source/WebCore/rendering/RenderFullScreen.cpp
@@ -113,8 +113,10 @@ RenderObject* RenderFullScreen::wrapRenderer(RenderObject* object, Document* doc
if (RenderObject* parent = object->parent()) {
parent->addChild(fullscreenRenderer, object);
object->remove();
+ parent->setNeedsLayoutAndPrefWidthsRecalc();
}
fullscreenRenderer->addChild(object);
+ fullscreenRenderer->setNeedsLayoutAndPrefWidthsRecalc();
}
document->setFullScreenRenderer(fullscreenRenderer);
return fullscreenRenderer;
@@ -127,6 +129,7 @@ void RenderFullScreen::unwrapRenderer()
while ((child = firstChild())) {
child->remove();
parent()->addChild(child, this);
+ parent()->setNeedsLayoutAndPrefWidthsRecalc();
}
}
if (placeholder())
@@ -140,7 +143,7 @@ void RenderFullScreen::setPlaceholder(RenderBlock* placeholder)
m_placeholder = placeholder;
}
-void RenderFullScreen::createPlaceholder(PassRefPtr<RenderStyle> style, const IntRect& frameRect)
+void RenderFullScreen::createPlaceholder(PassRefPtr<RenderStyle> style, const LayoutRect& frameRect)
{
if (style->width().isAuto())
style->setWidth(Length(frameRect.width(), Fixed));
@@ -150,8 +153,10 @@ void RenderFullScreen::createPlaceholder(PassRefPtr<RenderStyle> style, const In
if (!m_placeholder) {
m_placeholder = new (document()->renderArena()) RenderFullScreenPlaceholder(this);
m_placeholder->setStyle(style);
- if (parent())
+ if (parent()) {
parent()->addChild(m_placeholder, this);
+ parent()->setNeedsLayoutAndPrefWidthsRecalc();
+ }
} else
m_placeholder->setStyle(style);
}