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(); |
} |