| Index: Source/core/frame/FrameView.cpp
|
| diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp
|
| index 69e42ef47414032d9ece4f360069cc4aa9996db5..4304085018f2e93c5901a6346ecdba2f122943a0 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();
|
| }
|
| }
|
| @@ -1364,8 +1366,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();
|
| }
|
| }
|
| @@ -1966,8 +1970,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);
|
| }
|
| @@ -2654,8 +2660,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;
|
| }
|
| @@ -2862,8 +2869,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);
|
| }
|
|
|
| @@ -3120,8 +3129,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);
|
| }
|
|
|
|
|