| Index: Source/core/rendering/compositing/RenderLayerCompositor.cpp
|
| diff --git a/Source/core/rendering/compositing/RenderLayerCompositor.cpp b/Source/core/rendering/compositing/RenderLayerCompositor.cpp
|
| index a620ac9c5f3a3d4138dd39f396334ffee3e458f0..f98557379d5e86849a098ed79fb73bc1fee608e9 100644
|
| --- a/Source/core/rendering/compositing/RenderLayerCompositor.cpp
|
| +++ b/Source/core/rendering/compositing/RenderLayerCompositor.cpp
|
| @@ -252,8 +252,10 @@ static RenderVideo* findFullscreenVideoRenderer(Document& document)
|
|
|
| void RenderLayerCompositor::updateIfNeededRecursive()
|
| {
|
| - for (LocalFrame* child = m_renderView.frameView()->frame().tree().firstChild(); child; child = child->tree().nextSibling())
|
| - child->contentRenderer()->compositor()->updateIfNeededRecursive();
|
| + for (Frame* child = m_renderView.frameView()->frame().tree().firstChild(); child; child = child->tree().nextSibling()) {
|
| + if (child->isLocalFrame())
|
| + toLocalFrame(child)->contentRenderer()->compositor()->updateIfNeededRecursive();
|
| + }
|
|
|
| TRACE_EVENT0("blink_rendering", "RenderLayerCompositor::updateIfNeededRecursive");
|
|
|
| @@ -273,8 +275,10 @@ void RenderLayerCompositor::updateIfNeededRecursive()
|
|
|
| #if ASSERT_ENABLED
|
| assertNoUnresolvedDirtyBits();
|
| - for (LocalFrame* child = m_renderView.frameView()->frame().tree().firstChild(); child; child = child->tree().nextSibling())
|
| - child->contentRenderer()->compositor()->assertNoUnresolvedDirtyBits();
|
| + for (Frame* child = m_renderView.frameView()->frame().tree().firstChild(); child; child = child->tree().nextSibling()) {
|
| + if (child->isLocalFrame())
|
| + toLocalFrame(child)->contentRenderer()->compositor()->assertNoUnresolvedDirtyBits();
|
| + }
|
| #endif
|
| }
|
|
|
| @@ -1328,10 +1332,12 @@ void RenderLayerCompositor::notifyIFramesOfCompositingChange()
|
| return;
|
| LocalFrame& frame = m_renderView.frameView()->frame();
|
|
|
| - for (LocalFrame* child = frame.tree().firstChild(); child; child = child->tree().traverseNext(&frame)) {
|
| - if (!child->document())
|
| + for (Frame* child = frame.tree().firstChild(); child; child = child->tree().traverseNext(&frame)) {
|
| + if (!child->isLocalFrame())
|
| + continue;
|
| + if (!toLocalFrame(child)->document())
|
| continue; // FIXME: Can this happen?
|
| - if (HTMLFrameOwnerElement* ownerElement = child->document()->ownerElement()) {
|
| + if (HTMLFrameOwnerElement* ownerElement = toLocalFrame(child)->document()->ownerElement()) {
|
| DeprecatedScheduleStyleRecalcDuringCompositingUpdate marker(ownerElement->document().lifecycle());
|
| ownerElement->scheduleLayerUpdate();
|
| }
|
|
|