Index: Source/core/frame/FrameView.cpp |
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp |
index 25df3f4a2cbd9a6e03feb66e515c409d42c2eab4..c5f50c2f3f809096887acda647c2a68df2be0738 100644 |
--- a/Source/core/frame/FrameView.cpp |
+++ b/Source/core/frame/FrameView.cpp |
@@ -375,8 +375,10 @@ void FrameView::setFrameRect(const IntRect& newRect) |
if (newRect.width() != oldRect.width()) { |
if (m_frame->isMainFrame() && m_frame->settings()->textAutosizingEnabled()) { |
autosizerNeedsUpdating = true; |
- for (LocalFrame* frame = m_frame.get(); frame; frame = frame->tree().traverseNext()) { |
- if (TextAutosizer* textAutosizer = frame->document()->textAutosizer()) |
+ for (Frame* frame = m_frame.get(); frame; frame = frame->tree().traverseNext()) { |
+ if (!frame->isLocalFrame()) |
+ continue; |
+ if (TextAutosizer* textAutosizer = toLocalFrame(frame)->document()->textAutosizer()) |
textAutosizer->recalculateMultipliers(); |
} |
} |
@@ -1355,8 +1357,10 @@ void FrameView::scrollContentsIfNeededRecursive() |
{ |
scrollContentsIfNeeded(); |
- for (LocalFrame* child = m_frame->tree().firstChild(); child; child = child->tree().nextSibling()) { |
- if (FrameView* view = child->view()) |
+ for (Frame* child = m_frame->tree().firstChild(); child; child = child->tree().nextSibling()) { |
+ if (!child->isLocalFrame()) |
+ continue; |
+ if (FrameView* view = toLocalFrame(child)->view()) |
view->scrollContentsIfNeededRecursive(); |
} |
} |
@@ -1955,8 +1959,10 @@ void FrameView::setBaseBackgroundColor(const Color& backgroundColor) |
void FrameView::updateBackgroundRecursively(const Color& backgroundColor, bool transparent) |
{ |
- for (LocalFrame* frame = m_frame.get(); frame; frame = frame->tree().traverseNext(m_frame.get())) { |
- if (FrameView* view = frame->view()) { |
+ for (Frame* frame = m_frame.get(); frame; frame = frame->tree().traverseNext(m_frame.get())) { |
+ if (!frame->isLocalFrame()) |
+ continue; |
+ if (FrameView* view = toLocalFrame(frame)->view()) { |
view->setTransparent(transparent); |
view->setBaseBackgroundColor(backgroundColor); |
} |
@@ -2643,8 +2649,9 @@ FrameView* FrameView::parentFrameView() const |
if (!parent()) |
return 0; |
- if (LocalFrame* parentFrame = m_frame->tree().parent()) |
- return parentFrame->view(); |
+ Frame* parentFrame = m_frame->tree().parent(); |
+ if (parentFrame && parentFrame->isLocalFrame()) |
+ return toLocalFrame(parentFrame)->view(); |
return 0; |
} |
@@ -2851,8 +2858,10 @@ void FrameView::updateLayoutAndStyleIfNeededRecursive() |
// FIXME: Calling layout() shouldn't trigger scripe execution or have any |
// observable effects on the frame tree but we're not quite there yet. |
Vector<RefPtr<FrameView> > frameViews; |
- for (LocalFrame* child = m_frame->tree().firstChild(); child; child = child->tree().nextSibling()) { |
- if (FrameView* view = child->view()) |
+ for (Frame* child = m_frame->tree().firstChild(); child; child = child->tree().nextSibling()) { |
+ if (!child->isLocalFrame()) |
+ continue; |
+ if (FrameView* view = toLocalFrame(child)->view()) |
frameViews.append(view); |
} |
@@ -3109,8 +3118,10 @@ void FrameView::setTracksPaintInvalidations(bool trackPaintInvalidations) |
if (trackPaintInvalidations == m_isTrackingPaintInvalidations) |
return; |
- for (LocalFrame* frame = m_frame->tree().top(); frame; frame = frame->tree().traverseNext()) { |
- if (RenderView* renderView = frame->contentRenderer()) |
+ for (Frame* frame = m_frame->tree().top(); frame; frame = frame->tree().traverseNext()) { |
+ if (!frame->isLocalFrame()) |
+ continue; |
+ if (RenderView* renderView = toLocalFrame(frame)->contentRenderer()) |
renderView->compositor()->setTracksRepaints(trackPaintInvalidations); |
} |