| Index: Source/core/page/FrameView.cpp
|
| diff --git a/Source/core/page/FrameView.cpp b/Source/core/page/FrameView.cpp
|
| index d48329928539696c80b5420417bcca36e5195660..027028cb28c45cdb403d2cf2052e7b6e8053b669 100644
|
| --- a/Source/core/page/FrameView.cpp
|
| +++ b/Source/core/page/FrameView.cpp
|
| @@ -185,14 +185,11 @@ FrameView::FrameView(Frame* frame)
|
| ASSERT(m_frame);
|
| init();
|
|
|
| - Page* page = m_frame->page();
|
| - if (!page)
|
| + if (!isMainFrame())
|
| return;
|
|
|
| - if (m_frame == page->mainFrame()) {
|
| - ScrollableArea::setVerticalScrollElasticity(ScrollElasticityAllowed);
|
| - ScrollableArea::setHorizontalScrollElasticity(ScrollElasticityAllowed);
|
| - }
|
| + ScrollableArea::setVerticalScrollElasticity(ScrollElasticityAllowed);
|
| + ScrollableArea::setHorizontalScrollElasticity(ScrollElasticityAllowed);
|
| }
|
|
|
| PassRefPtr<FrameView> FrameView::create(Frame* frame)
|
| @@ -418,7 +415,7 @@ void FrameView::setFrameRect(const IntRect& newRect)
|
| // Autosized font sizes depend on the width of the viewing area.
|
| if (newRect.width() != oldRect.width()) {
|
| Page* page = m_frame->page();
|
| - if (page && page->mainFrame() == m_frame && page->settings().textAutosizingEnabled()) {
|
| + if (isMainFrame() && page->settings().textAutosizingEnabled()) {
|
| for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext())
|
| m_frame->document()->textAutosizer()->recalculateMultipliers();
|
| }
|
| @@ -492,7 +489,7 @@ void FrameView::updateCanHaveScrollbars()
|
| PassRefPtr<Scrollbar> FrameView::createScrollbar(ScrollbarOrientation orientation)
|
| {
|
| if (Settings* settings = m_frame->settings()) {
|
| - if (!settings->allowCustomScrollbarInMainFrame() && m_frame->page() && m_frame->page()->mainFrame() == m_frame)
|
| + if (!settings->allowCustomScrollbarInMainFrame() && isMainFrame())
|
| return ScrollView::createScrollbar(orientation);
|
| }
|
|
|
| @@ -1720,7 +1717,9 @@ void FrameView::visibleContentsResized()
|
| void FrameView::beginDeferredRepaints()
|
| {
|
| Page* page = m_frame->page();
|
| - if (page->mainFrame() != m_frame) {
|
| + ASSERT(page);
|
| +
|
| + if (!isMainFrame()) {
|
| page->mainFrame()->view()->beginDeferredRepaints();
|
| return;
|
| }
|
| @@ -1731,7 +1730,9 @@ void FrameView::beginDeferredRepaints()
|
| void FrameView::endDeferredRepaints()
|
| {
|
| Page* page = m_frame->page();
|
| - if (page->mainFrame() != m_frame) {
|
| + ASSERT(page);
|
| +
|
| + if (!isMainFrame()) {
|
| page->mainFrame()->view()->endDeferredRepaints();
|
| return;
|
| }
|
| @@ -2208,10 +2209,8 @@ void FrameView::performPostLayoutTasks()
|
| m_frame->loader()->didFirstLayout();
|
| if (milestonesOfInterest & DidFirstLayout)
|
| milestonesAchieved |= DidFirstLayout;
|
| - if (page) {
|
| - if (page->mainFrame() == m_frame)
|
| - page->startCountingRelevantRepaintedObjects();
|
| - }
|
| + if (isMainFrame())
|
| + page->startCountingRelevantRepaintedObjects();
|
| }
|
|
|
| // Ensure that we always send this eventually.
|
| @@ -2272,7 +2271,7 @@ void FrameView::sendResizeEventIfNeeded()
|
| m_frame->eventHandler()->sendResizeEvent();
|
|
|
| Page* page = m_frame->page();
|
| - if (page && page->mainFrame() == m_frame)
|
| + if (isMainFrame())
|
| InspectorInstrumentation::didResizeMainFrame(page);
|
| }
|
|
|
| @@ -2423,10 +2422,8 @@ const Pagination& FrameView::pagination() const
|
| if (m_pagination != Pagination())
|
| return m_pagination;
|
|
|
| - if (Page* page = m_frame->page()) {
|
| - if (page->mainFrame() == m_frame)
|
| - return page->pagination();
|
| - }
|
| + if (isMainFrame())
|
| + return m_frame->page()->pagination();
|
|
|
| return m_pagination;
|
| }
|
| @@ -2602,10 +2599,7 @@ bool FrameView::shouldSuspendScrollAnimations() const
|
|
|
| void FrameView::scrollbarStyleChanged(int newStyle, bool forceUpdate)
|
| {
|
| - Page* page = m_frame->page();
|
| - if (!page)
|
| - return;
|
| - if (page->mainFrame() != m_frame)
|
| + if (!isMainFrame())
|
| return;
|
|
|
| if (forceUpdate)
|
| @@ -2723,7 +2717,7 @@ void FrameView::paintScrollCorner(GraphicsContext* context, const IntRect& corne
|
| }
|
|
|
| if (m_scrollCorner) {
|
| - bool needsBackgorund = m_frame->page() && m_frame->page()->mainFrame() == m_frame;
|
| + bool needsBackgorund = isMainFrame();
|
| if (needsBackgorund)
|
| context->fillRect(cornerRect, baseBackgroundColor());
|
| m_scrollCorner->paintIntoRect(context, cornerRect.location(), cornerRect);
|
| @@ -2735,7 +2729,7 @@ void FrameView::paintScrollCorner(GraphicsContext* context, const IntRect& corne
|
|
|
| void FrameView::paintScrollbar(GraphicsContext* context, Scrollbar* bar, const IntRect& rect)
|
| {
|
| - bool needsBackgorund = bar->isCustomScrollbar() && (m_frame->page() && m_frame->page()->mainFrame() == m_frame);
|
| + bool needsBackgorund = bar->isCustomScrollbar() && isMainFrame();
|
| if (needsBackgorund) {
|
| IntRect toFill = bar->frameRect();
|
| toFill.intersect(rect);
|
| @@ -2969,9 +2963,8 @@ void FrameView::paintOverhangAreas(GraphicsContext* context, const IntRect& hori
|
| if (m_frame->document()->printing())
|
| return;
|
|
|
| - Page* page = m_frame->page();
|
| - if (page->mainFrame() == m_frame) {
|
| - if (page->chrome().client().paintCustomOverhangArea(context, horizontalOverhangArea, verticalOverhangArea, dirtyRect))
|
| + if (isMainFrame()) {
|
| + if (m_frame->page()->chrome().client().paintCustomOverhangArea(context, horizontalOverhangArea, verticalOverhangArea, dirtyRect))
|
| return;
|
| }
|
|
|
| @@ -3363,7 +3356,6 @@ bool FrameView::wheelEvent(const PlatformWheelEvent& wheelEvent)
|
| return ScrollableArea::handleWheelEvent(wheelEvent);
|
| }
|
|
|
| -
|
| bool FrameView::isVerticalDocument() const
|
| {
|
| RenderView* renderView = this->renderView();
|
| @@ -3389,4 +3381,9 @@ AXObjectCache* FrameView::axObjectCache() const
|
| return 0;
|
| }
|
|
|
| +bool FrameView::isMainFrame() const
|
| +{
|
| + return m_frame->page() && m_frame->page()->mainFrame() == m_frame;
|
| +}
|
| +
|
| } // namespace WebCore
|
|
|