diff options
| author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-13 12:51:20 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 20:50:05 +0200 |
| commit | d441d6f39bb846989d95bcf5caf387b42414718d (patch) | |
| tree | e367e64a75991c554930278175d403c072de6bb8 /Source/WebCore/rendering/RenderMedia.cpp | |
| parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (diff) | |
| download | qtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz | |
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit.
Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebCore/rendering/RenderMedia.cpp')
| -rw-r--r-- | Source/WebCore/rendering/RenderMedia.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/Source/WebCore/rendering/RenderMedia.cpp b/Source/WebCore/rendering/RenderMedia.cpp index 385fb5068..ae488569c 100644 --- a/Source/WebCore/rendering/RenderMedia.cpp +++ b/Source/WebCore/rendering/RenderMedia.cpp @@ -29,7 +29,9 @@ #include "RenderMedia.h" #include "HTMLMediaElement.h" +#include "RenderFlowThread.h" #include "RenderView.h" +#include <wtf/StackStats.h> namespace WebCore { @@ -52,7 +54,7 @@ RenderMedia::~RenderMedia() HTMLMediaElement* RenderMedia::mediaElement() const { - return static_cast<HTMLMediaElement*>(node()); + return toHTMLMediaElement(node()); } void RenderMedia::layout() @@ -66,8 +68,17 @@ void RenderMedia::layout() if (!controlsRenderer) return; + bool controlsNeedLayout = controlsRenderer->needsLayout(); + // If the region chain has changed we also need to relayout the controls to update the region box info. + // FIXME: We can do better once we compute region box info for RenderReplaced, not only for RenderBlock. + const RenderFlowThread* flowThread = flowThreadContainingBlock(); + if (flowThread && !controlsNeedLayout) { + if (flowThread->pageLogicalSizeChanged()) + controlsNeedLayout = true; + } + LayoutSize newSize = contentBoxRect().size(); - if (newSize == oldSize && !controlsRenderer->needsLayout()) + if (newSize == oldSize && !controlsNeedLayout) return; // When calling layout() on a child node, a parent must either push a LayoutStateMaintainter, or |
