Changeset 142647 in webkit
- Timestamp:
- Feb 12, 2013 11:35:01 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r142646 r142647 1 2013-02-12 Elliott Sprehn <esprehn@chromium.org> 2 3 rootRenderer in FrameView is really RenderView 4 https://bugs.webkit.org/show_bug.cgi?id=109510 5 6 Reviewed by Eric Seidel. 7 8 The global function rootRenderer(FrameView*) is really just a way 9 to get the RenderView from the Frame so replace it with a renderView() 10 method and replace usage of the word "root" with renderView so it's 11 obvious the root we're talking about is the renderView. This is an 12 important distinction to make since we also have rootRenderer in the code 13 for the documentElement()'s renderer and we also have a "layout root" which 14 is entirely different. 15 16 No new tests, just refactoring. 17 18 * page/FrameView.cpp: 19 (WebCore::FrameView::rootRenderer): Removed. 20 (WebCore::FrameView::setFrameRect): 21 (WebCore::FrameView::adjustViewSize): 22 (WebCore::FrameView::updateCompositingLayersAfterStyleChange): 23 (WebCore::FrameView::updateCompositingLayersAfterLayout): 24 (WebCore::FrameView::clearBackingStores): 25 (WebCore::FrameView::restoreBackingStores): 26 (WebCore::FrameView::usesCompositedScrolling): 27 (WebCore::FrameView::layerForHorizontalScrollbar): 28 (WebCore::FrameView::layerForVerticalScrollbar): 29 (WebCore::FrameView::layerForScrollCorner): 30 (WebCore::FrameView::tiledBacking): 31 (WebCore::FrameView::scrollLayerID): 32 (WebCore::FrameView::layerForOverhangAreas): 33 (WebCore::FrameView::flushCompositingStateForThisFrame): 34 (WebCore::FrameView::hasCompositedContent): 35 (WebCore::FrameView::enterCompositingMode): 36 (WebCore::FrameView::isSoftwareRenderable): 37 (WebCore::FrameView::didMoveOnscreen): 38 (WebCore::FrameView::willMoveOffscreen): 39 (WebCore::FrameView::layout): 40 (WebCore::FrameView::embeddedContentBox): 41 (WebCore::FrameView::contentsInCompositedLayer): 42 (WebCore::FrameView::scrollContentsFastPath): 43 (WebCore::FrameView::scrollContentsSlowPath): 44 (WebCore::FrameView::maintainScrollPositionAtAnchor): 45 (WebCore::FrameView::scrollPositionChanged): 46 (WebCore::FrameView::repaintFixedElementsAfterScrolling): 47 (WebCore::FrameView::updateFixedElementsAfterScrolling): 48 (WebCore::FrameView::visibleContentsResized): 49 (WebCore::FrameView::scheduleRelayoutOfSubtree): 50 (WebCore::FrameView::needsLayout): 51 (WebCore::FrameView::setNeedsLayout): 52 (WebCore::FrameView::performPostLayoutTasks): 53 (WebCore::FrameView::updateControlTints): 54 (WebCore::FrameView::paintContents): 55 (WebCore::FrameView::forceLayoutForPagination): 56 (WebCore::FrameView::adjustPageHeightDeprecated): 57 (WebCore::FrameView::resetTrackedRepaints): 58 (WebCore::FrameView::isVerticalDocument): 59 (WebCore::FrameView::isFlippedDocument): 60 * page/FrameView.h: 61 (WebCore::FrameView::renderView): Added. 62 1 63 2013-02-12 Tomas Popela <tpopela@redhat.com> 2 64 -
trunk/Source/WebCore/page/FrameView.cpp
r142638 r142647 125 125 static const unsigned maxUpdateWidgetsIterations = 2; 126 126 127 static inline RenderView* rootRenderer(const FrameView* view)128 {129 return view->frame() ? view->frame()->contentRenderer() : 0;130 }131 132 127 static RenderLayer::UpdateLayerPositionsFlags updateLayerPositionFlags(RenderLayer* layer, bool isRelayoutingSubtree, bool didFullRepaint) 133 128 { … … 455 450 456 451 #if USE(ACCELERATED_COMPOSITING) 457 if (RenderView* r oot = rootRenderer(this)) {458 if (r oot->usesCompositing())459 r oot->compositor()->frameViewDidChangeSize();452 if (RenderView* renderView = this->renderView()) { 453 if (renderView->usesCompositing()) 454 renderView->compositor()->frameViewDidChangeSize(); 460 455 } 461 456 #endif … … 574 569 void FrameView::adjustViewSize() 575 570 { 576 RenderView* r oot = rootRenderer(this);577 if (!r oot)571 RenderView* renderView = this->renderView(); 572 if (!renderView) 578 573 return; 579 574 580 575 ASSERT(m_frame->view() == this); 581 576 582 const IntRect rect = r oot->documentRect();577 const IntRect rect = renderView->documentRect(); 583 578 const IntSize& size = rect.size(); 584 579 ScrollView::setScrollOrigin(IntPoint(-rect.x(), -rect.y()), !m_frame->document()->printing(), size == contentsSize()); … … 725 720 void FrameView::updateCompositingLayersAfterStyleChange() 726 721 { 727 RenderView* r oot = rootRenderer(this);728 if (!r oot)722 RenderView* renderView = this->renderView(); 723 if (!renderView) 729 724 return; 730 725 731 726 // If we expect to update compositing after an incipient layout, don't do so here. 732 if (m_doingPreLayoutStyleUpdate || layoutPending() || r oot->needsLayout())727 if (m_doingPreLayoutStyleUpdate || layoutPending() || renderView->needsLayout()) 733 728 return; 734 729 735 730 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref 736 r oot->compositor()->cacheAcceleratedCompositingFlags();737 r oot->compositor()->updateCompositingLayers(CompositingUpdateAfterStyleChange);731 renderView->compositor()->cacheAcceleratedCompositingFlags(); 732 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterStyleChange); 738 733 } 739 734 740 735 void FrameView::updateCompositingLayersAfterLayout() 741 736 { 742 RenderView* r oot = rootRenderer(this);743 if (!r oot)737 RenderView* renderView = this->renderView(); 738 if (!renderView) 744 739 return; 745 740 746 741 // This call will make sure the cached hasAcceleratedCompositing is updated from the pref 747 r oot->compositor()->cacheAcceleratedCompositingFlags();748 r oot->compositor()->updateCompositingLayers(CompositingUpdateAfterLayout);742 renderView->compositor()->cacheAcceleratedCompositingFlags(); 743 renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterLayout); 749 744 } 750 745 751 746 void FrameView::clearBackingStores() 752 747 { 753 RenderView* r oot = rootRenderer(this);754 if (!r oot)755 return; 756 757 RenderLayerCompositor* compositor = r oot->compositor();748 RenderView* renderView = this->renderView(); 749 if (!renderView) 750 return; 751 752 RenderLayerCompositor* compositor = renderView->compositor(); 758 753 ASSERT(compositor->inCompositingMode()); 759 754 compositor->enableCompositingMode(false); … … 763 758 void FrameView::restoreBackingStores() 764 759 { 765 RenderView* r oot = rootRenderer(this);766 if (!r oot)767 return; 768 769 RenderLayerCompositor* compositor = r oot->compositor();760 RenderView* renderView = this->renderView(); 761 if (!renderView) 762 return; 763 764 RenderLayerCompositor* compositor = renderView->compositor(); 770 765 compositor->enableCompositingMode(true); 771 766 compositor->updateCompositingLayers(CompositingUpdateAfterLayout); … … 774 769 bool FrameView::usesCompositedScrolling() const 775 770 { 776 if (m_frame->settings() && m_frame->settings()->compositedScrollingForFramesEnabled()) { 777 RenderView* root = rootRenderer(this); 778 return root && root->compositor()->inForcedCompositingMode(); 779 } 771 RenderView* renderView = this->renderView(); 772 if (!renderView) 773 return false; 774 if (m_frame->settings() && m_frame->settings()->compositedScrollingForFramesEnabled()) 775 return renderView->compositor()->inForcedCompositingMode(); 780 776 return false; 781 777 } … … 783 779 GraphicsLayer* FrameView::layerForHorizontalScrollbar() const 784 780 { 785 RenderView* r oot = rootRenderer(this);786 if (!r oot)781 RenderView* renderView = this->renderView(); 782 if (!renderView) 787 783 return 0; 788 return r oot->compositor()->layerForHorizontalScrollbar();784 return renderView->compositor()->layerForHorizontalScrollbar(); 789 785 } 790 786 791 787 GraphicsLayer* FrameView::layerForVerticalScrollbar() const 792 788 { 793 RenderView* r oot = rootRenderer(this);794 if (!r oot)789 RenderView* renderView = this->renderView(); 790 if (!renderView) 795 791 return 0; 796 return r oot->compositor()->layerForVerticalScrollbar();792 return renderView->compositor()->layerForVerticalScrollbar(); 797 793 } 798 794 799 795 GraphicsLayer* FrameView::layerForScrollCorner() const 800 796 { 801 RenderView* r oot = rootRenderer(this);802 if (!r oot)797 RenderView* renderView = this->renderView(); 798 if (!renderView) 803 799 return 0; 804 return r oot->compositor()->layerForScrollCorner();800 return renderView->compositor()->layerForScrollCorner(); 805 801 } 806 802 807 803 TiledBacking* FrameView::tiledBacking() 808 804 { 809 RenderView* r oot = rootRenderer(this);810 if (!r oot)805 RenderView* renderView = this->renderView(); 806 if (!renderView) 811 807 return 0; 812 808 813 RenderLayerBacking* backing = r oot->layer()->backing();809 RenderLayerBacking* backing = renderView->layer()->backing(); 814 810 if (!backing) 815 811 return 0; … … 820 816 uint64_t FrameView::scrollLayerID() const 821 817 { 822 RenderView* r oot = rootRenderer(this);823 if (!r oot)818 RenderView* renderView = this->renderView(); 819 if (!renderView) 824 820 return 0; 825 821 826 RenderLayerBacking* backing = r oot->layer()->backing();822 RenderLayerBacking* backing = renderView->layer()->backing(); 827 823 if (!backing) 828 824 return 0; … … 834 830 GraphicsLayer* FrameView::layerForOverhangAreas() const 835 831 { 836 RenderView* r oot = rootRenderer(this);837 if (!r oot)832 RenderView* renderView = this->renderView(); 833 if (!renderView) 838 834 return 0; 839 return r oot->compositor()->layerForOverhangAreas();835 return renderView->compositor()->layerForOverhangAreas(); 840 836 } 841 837 #endif … … 843 839 bool FrameView::flushCompositingStateForThisFrame(Frame* rootFrameForFlush) 844 840 { 845 RenderView* r oot = rootRenderer(this);846 if (!r oot)841 RenderView* renderView = this->renderView(); 842 if (!renderView) 847 843 return true; // We don't want to keep trying to update layers if we have no renderer. 848 844 … … 858 854 flushDeferredRepaints(); 859 855 860 r oot->compositor()->flushPendingLayerChanges(rootFrameForFlush == m_frame);856 renderView->compositor()->flushPendingLayerChanges(rootFrameForFlush == m_frame); 861 857 862 858 return true; … … 875 871 { 876 872 #if USE(ACCELERATED_COMPOSITING) 877 if (RenderView* r oot = rootRenderer(this))878 return r oot->compositor()->inCompositingMode();873 if (RenderView* renderView = this->renderView()) 874 return renderView->compositor()->inCompositingMode(); 879 875 #endif 880 876 return false; … … 916 912 { 917 913 #if USE(ACCELERATED_COMPOSITING) 918 if (RenderView* r oot = rootRenderer(this)) {919 r oot->compositor()->enableCompositingMode();914 if (RenderView* renderView = this->renderView()) { 915 renderView->compositor()->enableCompositingMode(); 920 916 if (!needsLayout()) 921 r oot->compositor()->scheduleCompositingLayerUpdate();917 renderView->compositor()->scheduleCompositingLayerUpdate(); 922 918 } 923 919 #endif … … 955 951 { 956 952 #if USE(ACCELERATED_COMPOSITING) 957 RenderView* root = rootRenderer(this); 958 if (!root) 959 return true; 960 961 return !root->compositor()->has3DContent(); 953 RenderView* renderView = this->renderView(); 954 return !renderView || !renderView->compositor()->has3DContent(); 962 955 #else 963 956 return true; … … 967 960 void FrameView::didMoveOnscreen() 968 961 { 969 if (RenderView* r oot = rootRenderer(this))970 r oot->didMoveOnscreen();962 if (RenderView* renderView = this->renderView()) 963 renderView->didMoveOnscreen(); 971 964 contentAreaDidShow(); 972 965 } … … 974 967 void FrameView::willMoveOffscreen() 975 968 { 976 if (RenderView* r oot = rootRenderer(this))977 r oot->willMoveOffscreen();969 if (RenderView* renderView = this->renderView()) 970 renderView->willMoveOffscreen(); 978 971 contentAreaDidHide(); 979 972 } … … 1246 1239 // to work out most of the time, since first layouts and printing don't have you scrolled anywhere. 1247 1240 1248 layer->updateLayerPositionsAfterLayout(r ootRenderer(this)->layer(), updateLayerPositionFlags(layer, subtree, m_doFullRepaint));1241 layer->updateLayerPositionsAfterLayout(renderView()->layer(), updateLayerPositionFlags(layer, subtree, m_doFullRepaint)); 1249 1242 1250 1243 endDeferredRepaints(); … … 1275 1268 if (!m_inSynchronousPostLayout) { 1276 1269 if (inChildFrameLayoutWithFrameFlattening) { 1277 if (RenderView* r oot = rootRenderer(this))1278 r oot->updateWidgetPositions();1270 if (RenderView* renderView = this->renderView()) 1271 renderView->updateWidgetPositions(); 1279 1272 } else { 1280 1273 m_inSynchronousPostLayout = true; … … 1316 1309 { 1317 1310 #if ENABLE(SVG) 1318 RenderView* r oot = rootRenderer(this);1319 if (!r oot)1311 RenderView* renderView = this->renderView(); 1312 if (!renderView) 1320 1313 return 0; 1321 1314 1322 RenderObject* rootChild = root->firstChild();1323 if (! rootChild || !rootChild->isBox())1315 RenderObject* firstChild = renderView->firstChild(); 1316 if (!firstChild || !firstChild->isBox()) 1324 1317 return 0; 1325 1318 1326 1319 // Curently only embedded SVG documents participate in the size-negotiation logic. 1327 if ( rootChild->isSVGRoot())1328 return toRenderBox( rootChild);1320 if (firstChild->isSVGRoot()) 1321 return toRenderBox(firstChild); 1329 1322 #endif 1330 1323 … … 1428 1421 { 1429 1422 #if USE(ACCELERATED_COMPOSITING) 1430 RenderView* r oot = rootRenderer(this);1431 if (r oot && root->isComposited()) {1432 GraphicsLayer* layer = r oot->layer()->backing()->graphicsLayer();1423 RenderView* renderView = this->renderView(); 1424 if (renderView && renderView->isComposited()) { 1425 GraphicsLayer* layer = renderView->layer()->backing()->graphicsLayer(); 1433 1426 if (layer && layer->drawsContent()) 1434 1427 return true; … … 1587 1580 if (isCompositedContentLayer) { 1588 1581 updateRect = rootViewToContents(updateRect); 1589 RenderView* root = rootRenderer(this); 1590 ASSERT(root); 1591 root->layer()->setBackingNeedsRepaintInRect(updateRect); 1582 ASSERT(renderView()); 1583 renderView()->layer()->setBackingNeedsRepaintInRect(updateRect); 1592 1584 continue; 1593 1585 } … … 1605 1597 #if USE(ACCELERATED_COMPOSITING) 1606 1598 if (contentsInCompositedLayer()) { 1607 RenderView* root = rootRenderer(this);1608 ASSERT(root);1609 1610 1599 IntRect updateRect = visibleContentRect(); 1611 1600 … … 1614 1603 updateRect.scale(1 / m_frame->frameScaleFactor()); 1615 1604 1616 root->layer()->setBackingNeedsRepaintInRect(updateRect); 1605 ASSERT(renderView()); 1606 renderView()->layer()->setBackingNeedsRepaintInRect(updateRect); 1617 1607 } 1618 1608 if (RenderPart* frameRenderer = m_frame->ownerRenderer()) { … … 1757 1747 m_frame->document()->updateStyleIfNeeded(); 1758 1748 // Only do a layout if changes have occurred that make it necessary. 1759 RenderView* r oot = rootRenderer(this);1760 if (r oot && root->needsLayout())1749 RenderView* renderView = this->renderView(); 1750 if (renderView && renderView->needsLayout()) 1761 1751 layout(); 1762 1752 else … … 1851 1841 1852 1842 #if USE(ACCELERATED_COMPOSITING) 1853 if (RenderView* r oot = rootRenderer(this)) {1854 if (r oot->usesCompositing())1855 r oot->compositor()->frameViewDidScroll();1843 if (RenderView* renderView = this->renderView()) { 1844 if (renderView->usesCompositing()) 1845 renderView->compositor()->frameViewDidScroll(); 1856 1846 } 1857 1847 #endif … … 1863 1853 // but only if we're not inside of layout. 1864 1854 if (!m_nestedLayoutCount && hasViewportConstrainedObjects()) { 1865 if (RenderView* r oot = rootRenderer(this)) {1866 r oot->updateWidgetPositions();1867 r oot->layer()->updateLayerPositionsAfterDocumentScroll();1855 if (RenderView* renderView = this->renderView()) { 1856 renderView->updateWidgetPositions(); 1857 renderView->layer()->updateLayerPositionsAfterDocumentScroll(); 1868 1858 } 1869 1859 } … … 1906 1896 1907 1897 if (m_nestedLayoutCount <= 1 && hasViewportConstrainedObjects()) { 1908 if (RenderView* r oot = rootRenderer(this))1909 r oot->compositor()->updateCompositingLayers(CompositingUpdateOnScroll);1898 if (RenderView* renderView = this->renderView()) 1899 renderView->compositor()->updateCompositingLayers(CompositingUpdateOnScroll); 1910 1900 } 1911 1901 #endif … … 2039 2029 2040 2030 #if USE(ACCELERATED_COMPOSITING) 2041 if (RenderView* r oot = rootRenderer(this)) {2042 if (r oot->usesCompositing())2043 r oot->compositor()->frameViewDidChangeSize();2031 if (RenderView* renderView = this->renderView()) { 2032 if (renderView->usesCompositing()) 2033 renderView->compositor()->frameViewDidChangeSize(); 2044 2034 } 2045 2035 #endif … … 2258 2248 ASSERT(m_frame->view() == this); 2259 2249 2260 RenderView* r oot = rootRenderer(this);2261 if (r oot && root->needsLayout()) {2250 RenderView* renderView = this->renderView(); 2251 if (renderView && renderView->needsLayout()) { 2262 2252 if (relayoutRoot) 2263 2253 relayoutRoot->markContainingBlocksForLayout(false); … … 2309 2299 return false; 2310 2300 2311 RenderView* r oot = rootRenderer(this);2301 RenderView* renderView = this->renderView(); 2312 2302 return layoutPending() 2313 || (r oot && root->needsLayout())2303 || (renderView && renderView->needsLayout()) 2314 2304 || m_layoutRoot 2315 2305 || (m_deferSetNeedsLayouts && m_setNeedsLayoutWasDeferred); … … 2323 2313 } 2324 2314 2325 if (RenderView* r oot = rootRenderer(this))2326 r oot->setNeedsLayout(true);2315 if (RenderView* renderView = this->renderView()) 2316 renderView->setNeedsLayout(true); 2327 2317 } 2328 2318 … … 2568 2558 m_frame->loader()->client()->dispatchDidLayout(); 2569 2559 2570 RenderView* r oot = rootRenderer(this);2571 if (r oot)2572 r oot->updateWidgetPositions();2560 RenderView* renderView = this->renderView(); 2561 if (renderView) 2562 renderView->updateWidgetPositions(); 2573 2563 2574 2564 for (unsigned i = 0; i < maxUpdateWidgetsIterations; i++) { … … 2583 2573 2584 2574 #if USE(ACCELERATED_COMPOSITING) 2585 if (RenderView* root = rootRenderer(this)) { 2586 if (root->usesCompositing()) 2587 root->compositor()->frameViewDidLayout(); 2588 } 2575 if (renderView && renderView->usesCompositing()) 2576 renderView->compositor()->frameViewDidLayout(); 2589 2577 #endif 2590 2578 … … 2593 2581 m_actionScheduler->resume(); 2594 2582 2595 if (r oot && !root->printing()) {2583 if (renderView && !renderView->printing()) { 2596 2584 IntSize currentSize; 2597 2585 if (useFixedLayout() && !fixedLayoutSize().isEmpty() && delegatesScrolling()) … … 2599 2587 else 2600 2588 currentSize = visibleContentRect(true /*includeScrollbars*/).size(); 2601 float currentZoomFactor = r oot->style()->zoom();2589 float currentZoomFactor = renderView->style()->zoom(); 2602 2590 bool resized = !m_firstLayout && (currentSize != m_lastViewportSize || currentZoomFactor != m_lastZoomFactor); 2603 2591 m_lastViewportSize = currentSize; … … 3240 3228 return; 3241 3229 3242 RenderView* r oot = rootRenderer(this);3243 if ((r oot && root->theme()->supportsControlTints()) || hasCustomScrollbars())3230 RenderView* renderView = this->renderView(); 3231 if ((renderView && renderView->theme()->supportsControlTints()) || hasCustomScrollbars()) 3244 3232 paintControlTints(); 3245 3233 } … … 3299 3287 #endif 3300 3288 3301 RenderView* r oot = rootRenderer(this);3302 if (!r oot) {3289 RenderView* renderView = this->renderView(); 3290 if (!renderView) { 3303 3291 LOG_ERROR("called FrameView::paint with nil renderer"); 3304 3292 return; … … 3343 3331 // m_nodeToDraw is used to draw only one element (and its descendants) 3344 3332 RenderObject* eltRenderer = m_nodeToDraw ? m_nodeToDraw->renderer() : 0; 3345 RenderLayer* rootLayer = r oot->layer();3333 RenderLayer* rootLayer = renderView->layer(); 3346 3334 3347 3335 #ifndef NDEBUG … … 3517 3505 // Dumping externalRepresentation(m_frame->renderer()).ascii() is a good trick to see 3518 3506 // the state of things before and after the layout 3519 if (RenderView* r oot = rootRenderer(this)) {3520 float pageLogicalWidth = r oot->style()->isHorizontalWritingMode() ? pageSize.width() : pageSize.height();3521 float pageLogicalHeight = r oot->style()->isHorizontalWritingMode() ? pageSize.height() : pageSize.width();3507 if (RenderView* renderView = this->renderView()) { 3508 float pageLogicalWidth = renderView->style()->isHorizontalWritingMode() ? pageSize.width() : pageSize.height(); 3509 float pageLogicalHeight = renderView->style()->isHorizontalWritingMode() ? pageSize.height() : pageSize.width(); 3522 3510 3523 3511 LayoutUnit flooredPageLogicalWidth = static_cast<LayoutUnit>(pageLogicalWidth); 3524 3512 LayoutUnit flooredPageLogicalHeight = static_cast<LayoutUnit>(pageLogicalHeight); 3525 r oot->setLogicalWidth(flooredPageLogicalWidth);3526 r oot->setPageLogicalHeight(flooredPageLogicalHeight);3527 r oot->setNeedsLayoutAndPrefWidthsRecalc();3513 renderView->setLogicalWidth(flooredPageLogicalWidth); 3514 renderView->setPageLogicalHeight(flooredPageLogicalHeight); 3515 renderView->setNeedsLayoutAndPrefWidthsRecalc(); 3528 3516 forceLayout(); 3529 3517 … … 3532 3520 // FIXME: We are assuming a shrink-to-fit printing implementation. A cropping 3533 3521 // implementation should not do this! 3534 bool horizontalWritingMode = r oot->style()->isHorizontalWritingMode();3535 const LayoutRect& documentRect = r oot->documentRect();3522 bool horizontalWritingMode = renderView->style()->isHorizontalWritingMode(); 3523 const LayoutRect& documentRect = renderView->documentRect(); 3536 3524 LayoutUnit docLogicalWidth = horizontalWritingMode ? documentRect.width() : documentRect.height(); 3537 3525 if (docLogicalWidth > pageLogicalWidth) { … … 3544 3532 flooredPageLogicalWidth = static_cast<LayoutUnit>(pageLogicalWidth); 3545 3533 flooredPageLogicalHeight = static_cast<LayoutUnit>(pageLogicalHeight); 3546 r oot->setLogicalWidth(flooredPageLogicalWidth);3547 r oot->setPageLogicalHeight(flooredPageLogicalHeight);3548 r oot->setNeedsLayoutAndPrefWidthsRecalc();3534 renderView->setLogicalWidth(flooredPageLogicalWidth); 3535 renderView->setPageLogicalHeight(flooredPageLogicalHeight); 3536 renderView->setNeedsLayoutAndPrefWidthsRecalc(); 3549 3537 forceLayout(); 3550 3538 3551 const LayoutRect& updatedDocumentRect = r oot->documentRect();3539 const LayoutRect& updatedDocumentRect = renderView->documentRect(); 3552 3540 LayoutUnit docLogicalHeight = horizontalWritingMode ? updatedDocumentRect.height() : updatedDocumentRect.width(); 3553 3541 LayoutUnit docLogicalTop = horizontalWritingMode ? updatedDocumentRect.y() : updatedDocumentRect.x(); 3554 3542 LayoutUnit docLogicalRight = horizontalWritingMode ? updatedDocumentRect.maxX() : updatedDocumentRect.maxY(); 3555 3543 LayoutUnit clippedLogicalLeft = 0; 3556 if (!r oot->style()->isLeftToRightDirection())3544 if (!renderView->style()->isLeftToRightDirection()) 3557 3545 clippedLogicalLeft = docLogicalRight - pageLogicalWidth; 3558 3546 LayoutRect overflow(clippedLogicalLeft, docLogicalTop, pageLogicalWidth, docLogicalHeight); … … 3560 3548 if (!horizontalWritingMode) 3561 3549 overflow = overflow.transposedRect(); 3562 r oot->clearLayoutOverflow();3563 r oot->addLayoutOverflow(overflow); // This is how we clip in case we overflow again.3550 renderView->clearLayoutOverflow(); 3551 renderView->addLayoutOverflow(overflow); // This is how we clip in case we overflow again. 3564 3552 } 3565 3553 } … … 3571 3559 void FrameView::adjustPageHeightDeprecated(float *newBottom, float oldTop, float oldBottom, float /*bottomLimit*/) 3572 3560 { 3573 if (RenderView* root = rootRenderer(this)) { 3574 // Use a context with painting disabled. 3575 GraphicsContext context((PlatformGraphicsContext*)0); 3576 root->setTruncatedAt(static_cast<int>(floorf(oldBottom))); 3577 IntRect dirtyRect(0, static_cast<int>(floorf(oldTop)), root->layoutOverflowRect().maxX(), static_cast<int>(ceilf(oldBottom - oldTop))); 3578 root->setPrintRect(dirtyRect); 3579 root->layer()->paint(&context, dirtyRect); 3580 *newBottom = root->bestTruncatedAt(); 3581 if (*newBottom == 0) 3582 *newBottom = oldBottom; 3583 root->setPrintRect(IntRect()); 3584 } else 3561 RenderView* renderView = this->renderView(); 3562 if (!renderView) { 3585 3563 *newBottom = oldBottom; 3564 return; 3565 3566 } 3567 // Use a context with painting disabled. 3568 GraphicsContext context((PlatformGraphicsContext*)0); 3569 renderView->setTruncatedAt(static_cast<int>(floorf(oldBottom))); 3570 IntRect dirtyRect(0, static_cast<int>(floorf(oldTop)), renderView->layoutOverflowRect().maxX(), static_cast<int>(ceilf(oldBottom - oldTop))); 3571 renderView->setPrintRect(dirtyRect); 3572 renderView->layer()->paint(&context, dirtyRect); 3573 *newBottom = renderView->bestTruncatedAt(); 3574 if (!*newBottom) 3575 *newBottom = oldBottom; 3576 renderView->setPrintRect(IntRect()); 3586 3577 } 3587 3578 … … 3772 3763 m_trackedRepaintRects.clear(); 3773 3764 #if USE(ACCELERATED_COMPOSITING) 3774 if (RenderView* root = rootRenderer(this)) { 3775 RenderLayerCompositor* compositor = root->compositor(); 3776 compositor->resetTrackedRepaintRects(); 3777 } 3765 if (RenderView* renderView = this->renderView()) 3766 renderView->compositor()->resetTrackedRepaintRects(); 3778 3767 #endif 3779 3768 } … … 3870 3859 bool FrameView::isVerticalDocument() const 3871 3860 { 3872 RenderView* r oot = rootRenderer(this);3873 if (!r oot)3861 RenderView* renderView = this->renderView(); 3862 if (!renderView) 3874 3863 return true; 3875 3864 3876 return r oot->style()->isHorizontalWritingMode();3865 return renderView->style()->isHorizontalWritingMode(); 3877 3866 } 3878 3867 3879 3868 bool FrameView::isFlippedDocument() const 3880 3869 { 3881 RenderView* r oot = rootRenderer(this);3882 if (!r oot)3870 RenderView* renderView = this->renderView(); 3871 if (!renderView) 3883 3872 return false; 3884 3873 3885 return r oot->style()->isFlippedBlocksWritingMode();3874 return renderView->style()->isFlippedBlocksWritingMode(); 3886 3875 } 3887 3876 -
trunk/Source/WebCore/page/FrameView.h
r141053 r142647 39 39 namespace WebCore { 40 40 41 class Color;42 41 class Element; 43 42 class Event; 44 43 class FloatSize; 45 class Frame;46 44 class FrameActionScheduler; 47 45 class KURL; … … 79 77 Frame* frame() const { return m_frame.get(); } 80 78 void clearFrame(); 79 80 RenderView* renderView() const { return m_frame ? m_frame->contentRenderer() : 0; } 81 81 82 82 int mapFromLayoutToCSSUnits(LayoutUnit);
Note: See TracChangeset
for help on using the changeset viewer.