Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: Source/core/frame/FrameView.cpp

Issue 977113003: Rename renderer() to layoutObject(). (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/frame/Frame.cpp ('k') | Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3 * 1999 Lars Knoll <knoll@kde.org> 3 * 1999 Lars Knoll <knoll@kde.org>
4 * 1999 Antti Koivisto <koivisto@kde.org> 4 * 1999 Antti Koivisto <koivisto@kde.org>
5 * 2000 Dirk Mueller <mueller@kde.org> 5 * 2000 Dirk Mueller <mueller@kde.org>
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * Copyright (C) 2009 Google Inc. All rights reserved. 9 * Copyright (C) 2009 Google Inc. All rights reserved.
10 * 10 *
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 if (Settings* settings = m_frame->settings()) { 477 if (Settings* settings = m_frame->settings()) {
478 if (!settings->allowCustomScrollbarInMainFrame() && m_frame->isMainFrame ()) 478 if (!settings->allowCustomScrollbarInMainFrame() && m_frame->isMainFrame ())
479 return false; 479 return false;
480 } 480 }
481 481
482 // FIXME: We need to update the scrollbar dynamically as documents change (o r as doc elements and bodies get discovered that have custom styles). 482 // FIXME: We need to update the scrollbar dynamically as documents change (o r as doc elements and bodies get discovered that have custom styles).
483 Document* doc = m_frame->document(); 483 Document* doc = m_frame->document();
484 484
485 // Try the <body> element first as a scrollbar source. 485 // Try the <body> element first as a scrollbar source.
486 Element* body = doc ? doc->body() : 0; 486 Element* body = doc ? doc->body() : 0;
487 if (body && body->renderer() && body->renderer()->style()->hasPseudoStyle(SC ROLLBAR)) { 487 if (body && body->layoutObject() && body->layoutObject()->style()->hasPseudo Style(SCROLLBAR)) {
488 customScrollbarElement = body; 488 customScrollbarElement = body;
489 return true; 489 return true;
490 } 490 }
491 491
492 // If the <body> didn't have a custom style, then the root element might. 492 // If the <body> didn't have a custom style, then the root element might.
493 Element* docElement = doc ? doc->documentElement() : 0; 493 Element* docElement = doc ? doc->documentElement() : 0;
494 if (docElement && docElement->renderer() && docElement->renderer()->style()- >hasPseudoStyle(SCROLLBAR)) { 494 if (docElement && docElement->layoutObject() && docElement->layoutObject()-> style()->hasPseudoStyle(SCROLLBAR)) {
495 customScrollbarElement = docElement; 495 customScrollbarElement = docElement;
496 return true; 496 return true;
497 } 497 }
498 498
499 // If we have an owning ipage/LocalFrame element, then it can set the custom scrollbar also. 499 // If we have an owning ipage/LocalFrame element, then it can set the custom scrollbar also.
500 LayoutPart* frameLayoutObject = m_frame->ownerLayoutObject(); 500 LayoutPart* frameLayoutObject = m_frame->ownerLayoutObject();
501 if (frameLayoutObject && frameLayoutObject->style()->hasPseudoStyle(SCROLLBA R)) { 501 if (frameLayoutObject && frameLayoutObject->style()->hasPseudoStyle(SCROLLBA R)) {
502 customScrollbarFrame = m_frame.get(); 502 customScrollbarFrame = m_frame.get();
503 return true; 503 return true;
504 } 504 }
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 hMode = ScrollbarAuto; 639 hMode = ScrollbarAuto;
640 vMode = ScrollbarAuto; 640 vMode = ScrollbarAuto;
641 } else { 641 } else {
642 hMode = ScrollbarAlwaysOff; 642 hMode = ScrollbarAlwaysOff;
643 vMode = ScrollbarAlwaysOff; 643 vMode = ScrollbarAlwaysOff;
644 } 644 }
645 645
646 if (!isSubtreeLayout()) { 646 if (!isSubtreeLayout()) {
647 Document* document = m_frame->document(); 647 Document* document = m_frame->document();
648 Node* body = document->body(); 648 Node* body = document->body();
649 if (isHTMLFrameSetElement(body) && body->renderer()) { 649 if (isHTMLFrameSetElement(body) && body->layoutObject()) {
650 vMode = ScrollbarAlwaysOff; 650 vMode = ScrollbarAlwaysOff;
651 hMode = ScrollbarAlwaysOff; 651 hMode = ScrollbarAlwaysOff;
652 } else if (Element* viewportElement = document->viewportDefiningElement( )) { 652 } else if (Element* viewportElement = document->viewportDefiningElement( )) {
653 if (LayoutObject* viewportRenderer = viewportElement->renderer()) { 653 if (LayoutObject* viewportRenderer = viewportElement->layoutObject() ) {
654 if (viewportRenderer->style()) 654 if (viewportRenderer->style())
655 applyOverflowToViewportAndSetRenderer(viewportRenderer, hMod e, vMode); 655 applyOverflowToViewportAndSetRenderer(viewportRenderer, hMod e, vMode);
656 } 656 }
657 } 657 }
658 } 658 }
659 } 659 }
660 660
661 void FrameView::updateAcceleratedCompositingSettings() 661 void FrameView::updateAcceleratedCompositingSettings()
662 { 662 {
663 if (LayoutView* layoutView = this->layoutView()) 663 if (LayoutView* layoutView = this->layoutView())
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
986 } 986 }
987 987
988 FontCachePurgePreventer fontCachePurgePreventer; 988 FontCachePurgePreventer fontCachePurgePreventer;
989 { 989 {
990 TemporaryChange<bool> changeSchedulingEnabled(m_layoutSchedulingEnabled, false); 990 TemporaryChange<bool> changeSchedulingEnabled(m_layoutSchedulingEnabled, false);
991 991
992 m_nestedLayoutCount++; 992 m_nestedLayoutCount++;
993 if (!inSubtreeLayout) { 993 if (!inSubtreeLayout) {
994 clearLayoutSubtreeRootsAndMarkContainingBlocks(); 994 clearLayoutSubtreeRootsAndMarkContainingBlocks();
995 Node* body = document->body(); 995 Node* body = document->body();
996 if (body && body->renderer()) { 996 if (body && body->layoutObject()) {
997 if (isHTMLFrameSetElement(*body)) { 997 if (isHTMLFrameSetElement(*body)) {
998 body->renderer()->setChildNeedsLayout(); 998 body->layoutObject()->setChildNeedsLayout();
999 } else if (isHTMLBodyElement(*body)) { 999 } else if (isHTMLBodyElement(*body)) {
1000 if (!m_firstLayout && m_size.height() != layoutSize().height () && body->renderer()->enclosingBox()->stretchesToViewport()) 1000 if (!m_firstLayout && m_size.height() != layoutSize().height () && body->layoutObject()->enclosingBox()->stretchesToViewport())
1001 body->renderer()->setChildNeedsLayout(); 1001 body->layoutObject()->setChildNeedsLayout();
1002 } 1002 }
1003 } 1003 }
1004 } 1004 }
1005 updateCounters(); 1005 updateCounters();
1006 1006
1007 ScrollbarMode hMode; 1007 ScrollbarMode hMode;
1008 ScrollbarMode vMode; 1008 ScrollbarMode vMode;
1009 calculateScrollbarModesForLayoutAndSetViewportRenderer(hMode, vMode); 1009 calculateScrollbarModesForLayoutAndSetViewportRenderer(hMode, vMode);
1010 1010
1011 if (!inSubtreeLayout) { 1011 if (!inSubtreeLayout) {
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
1348 if (!child->isLocalFrame()) 1348 if (!child->isLocalFrame())
1349 continue; 1349 continue;
1350 if (FrameView* view = toLocalFrame(child)->view()) 1350 if (FrameView* view = toLocalFrame(child)->view())
1351 view->scrollContentsIfNeededRecursive(); 1351 view->scrollContentsIfNeededRecursive();
1352 } 1352 }
1353 } 1353 }
1354 1354
1355 // FIXME: If we had a flag to force invalidations in a whole subtree, we could g et rid of this function (crbug.com/410097). 1355 // FIXME: If we had a flag to force invalidations in a whole subtree, we could g et rid of this function (crbug.com/410097).
1356 static void setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(c onst Layer* layer) 1356 static void setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(c onst Layer* layer)
1357 { 1357 {
1358 layer->renderer()->setShouldDoFullPaintInvalidation(); 1358 layer->layoutObject()->setShouldDoFullPaintInvalidation();
1359 1359
1360 for (Layer* child = layer->firstChild(); child; child = child->nextSibling() ) { 1360 for (Layer* child = layer->firstChild(); child; child = child->nextSibling() ) {
1361 // Don't include paint invalidation rects for composited child layers; t hey will paint themselves and have a different origin. 1361 // Don't include paint invalidation rects for composited child layers; t hey will paint themselves and have a different origin.
1362 if (child->isPaintInvalidationContainer()) 1362 if (child->isPaintInvalidationContainer())
1363 continue; 1363 continue;
1364 1364
1365 setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(child ); 1365 setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(child );
1366 } 1366 }
1367 } 1367 }
1368 1368
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1539 cancelProgrammaticScrollAnimation(); 1539 cancelProgrammaticScrollAnimation();
1540 TemporaryChange<bool> changeInProgrammaticScroll(m_inProgrammaticScroll, tru e); 1540 TemporaryChange<bool> changeInProgrammaticScroll(m_inProgrammaticScroll, tru e);
1541 m_maintainScrollPositionAnchor = nullptr; 1541 m_maintainScrollPositionAnchor = nullptr;
1542 1542
1543 DoublePoint newScrollPosition = adjustScrollPositionWithinRange(scrollPoint) ; 1543 DoublePoint newScrollPosition = adjustScrollPositionWithinRange(scrollPoint) ;
1544 if (newScrollPosition == scrollPositionDouble()) 1544 if (newScrollPosition == scrollPositionDouble())
1545 return; 1545 return;
1546 1546
1547 if (scrollBehavior == ScrollBehaviorAuto) { 1547 if (scrollBehavior == ScrollBehaviorAuto) {
1548 Element* scrollElement = RuntimeEnabledFeatures::scrollTopLeftInteropEna bled() ? m_frame->document()->documentElement() : m_frame->document()->body(); 1548 Element* scrollElement = RuntimeEnabledFeatures::scrollTopLeftInteropEna bled() ? m_frame->document()->documentElement() : m_frame->document()->body();
1549 LayoutObject* renderer = scrollElement ? scrollElement->renderer() : nul lptr; 1549 LayoutObject* renderer = scrollElement ? scrollElement->layoutObject() : nullptr;
1550 if (renderer && renderer->style()->scrollBehavior() == ScrollBehaviorSmo oth) 1550 if (renderer && renderer->style()->scrollBehavior() == ScrollBehaviorSmo oth)
1551 scrollBehavior = ScrollBehaviorSmooth; 1551 scrollBehavior = ScrollBehaviorSmooth;
1552 else 1552 else
1553 scrollBehavior = ScrollBehaviorInstant; 1553 scrollBehavior = ScrollBehaviorInstant;
1554 } 1554 }
1555 1555
1556 if (scrollBehavior == ScrollBehaviorInstant) { 1556 if (scrollBehavior == ScrollBehaviorInstant) {
1557 DoubleSize newOffset(newScrollPosition.x(), newScrollPosition.y()); 1557 DoubleSize newOffset(newScrollPosition.x(), newScrollPosition.y());
1558 updateScrollbars(newOffset); 1558 updateScrollbars(newOffset);
1559 } else { 1559 } else {
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
1924 } 1924 }
1925 } 1925 }
1926 } 1926 }
1927 1927
1928 void FrameView::scrollToAnchor() 1928 void FrameView::scrollToAnchor()
1929 { 1929 {
1930 RefPtrWillBeRawPtr<Node> anchorNode = m_maintainScrollPositionAnchor; 1930 RefPtrWillBeRawPtr<Node> anchorNode = m_maintainScrollPositionAnchor;
1931 if (!anchorNode) 1931 if (!anchorNode)
1932 return; 1932 return;
1933 1933
1934 if (!anchorNode->renderer()) 1934 if (!anchorNode->layoutObject())
1935 return; 1935 return;
1936 1936
1937 LayoutRect rect; 1937 LayoutRect rect;
1938 if (anchorNode != m_frame->document()) 1938 if (anchorNode != m_frame->document())
1939 rect = anchorNode->boundingBox(); 1939 rect = anchorNode->boundingBox();
1940 1940
1941 RefPtrWillBeRawPtr<Frame> boundaryFrame = m_frame->findUnsafeParentScrollPro pagationBoundary(); 1941 RefPtrWillBeRawPtr<Frame> boundaryFrame = m_frame->findUnsafeParentScrollPro pagationBoundary();
1942 1942
1943 // FIXME: Handle RemoteFrames 1943 // FIXME: Handle RemoteFrames
1944 if (boundaryFrame && boundaryFrame->isLocalFrame()) 1944 if (boundaryFrame && boundaryFrame->isLocalFrame())
1945 toLocalFrame(boundaryFrame.get())->view()->setSafeToPropagateScrollToPar ent(false); 1945 toLocalFrame(boundaryFrame.get())->view()->setSafeToPropagateScrollToPar ent(false);
1946 1946
1947 // Scroll nested layers and frames to reveal the anchor. 1947 // Scroll nested layers and frames to reveal the anchor.
1948 // Align to the top and to the closest side (this matches other browsers). 1948 // Align to the top and to the closest side (this matches other browsers).
1949 anchorNode->renderer()->scrollRectToVisible(rect, ScrollAlignment::alignToEd geIfNeeded, ScrollAlignment::alignTopAlways); 1949 anchorNode->layoutObject()->scrollRectToVisible(rect, ScrollAlignment::align ToEdgeIfNeeded, ScrollAlignment::alignTopAlways);
1950 1950
1951 if (boundaryFrame && boundaryFrame->isLocalFrame()) 1951 if (boundaryFrame && boundaryFrame->isLocalFrame())
1952 toLocalFrame(boundaryFrame.get())->view()->setSafeToPropagateScrollToPar ent(true); 1952 toLocalFrame(boundaryFrame.get())->view()->setSafeToPropagateScrollToPar ent(true);
1953 1953
1954 if (AXObjectCache* cache = m_frame->document()->existingAXObjectCache()) 1954 if (AXObjectCache* cache = m_frame->document()->existingAXObjectCache())
1955 cache->handleScrolledToAnchor(anchorNode.get()); 1955 cache->handleScrolledToAnchor(anchorNode.get());
1956 1956
1957 // scrollRectToVisible can call into setScrollPosition(), which resets m_mai ntainScrollPositionAnchor. 1957 // scrollRectToVisible can call into setScrollPosition(), which resets m_mai ntainScrollPositionAnchor.
1958 m_maintainScrollPositionAnchor = anchorNode; 1958 m_maintainScrollPositionAnchor = anchorNode;
1959 } 1959 }
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
2167 FrameView* parentView = ownerElement->document().view(); 2167 FrameView* parentView = ownerElement->document().view();
2168 if (parentView) 2168 if (parentView)
2169 clipRect.intersect(parentView->windowClipRectForFrameOwner(ownerElement) ); 2169 clipRect.intersect(parentView->windowClipRectForFrameOwner(ownerElement) );
2170 return clipRect; 2170 return clipRect;
2171 } 2171 }
2172 2172
2173 IntRect FrameView::windowClipRectForFrameOwner(const HTMLFrameOwnerElement* owne rElement) const 2173 IntRect FrameView::windowClipRectForFrameOwner(const HTMLFrameOwnerElement* owne rElement) const
2174 { 2174 {
2175 // The renderer can sometimes be null when style="display:none" interacts 2175 // The renderer can sometimes be null when style="display:none" interacts
2176 // with external content and plugins. 2176 // with external content and plugins.
2177 if (!ownerElement->renderer()) 2177 if (!ownerElement->layoutObject())
2178 return windowClipRect(); 2178 return windowClipRect();
2179 2179
2180 // If we have no layer, just return our window clip rect. 2180 // If we have no layer, just return our window clip rect.
2181 const Layer* enclosingLayer = ownerElement->renderer()->enclosingLayer(); 2181 const Layer* enclosingLayer = ownerElement->layoutObject()->enclosingLayer() ;
2182 if (!enclosingLayer) 2182 if (!enclosingLayer)
2183 return windowClipRect(); 2183 return windowClipRect();
2184 2184
2185 // FIXME: childrenClipRect relies on compositingState, which is not necessar ily up to date. 2185 // FIXME: childrenClipRect relies on compositingState, which is not necessar ily up to date.
2186 // https://code.google.com/p/chromium/issues/detail?id=343769 2186 // https://code.google.com/p/chromium/issues/detail?id=343769
2187 DisableCompositingQueryAsserts disabler; 2187 DisableCompositingQueryAsserts disabler;
2188 2188
2189 // Apply the clip from the layer. 2189 // Apply the clip from the layer.
2190 IntRect clipRect = contentsToWindow(pixelSnappedIntRect(enclosingLayer->clip per().childrenClipRect())); 2190 IntRect clipRect = contentsToWindow(pixelSnappedIntRect(enclosingLayer->clip per().childrenClipRect()));
2191 return intersection(clipRect, windowClipRect()); 2191 return intersection(clipRect, windowClipRect());
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
2317 2317
2318 // Covers #1 2318 // Covers #1
2319 IntSize contentsSize = this->contentsSize(); 2319 IntSize contentsSize = this->contentsSize();
2320 IntSize visibleContentSize = visibleContentRect().size(); 2320 IntSize visibleContentSize = visibleContentRect().size();
2321 if ((contentsSize.height() <= visibleContentSize.height() && contentsSize.wi dth() <= visibleContentSize.width())) 2321 if ((contentsSize.height() <= visibleContentSize.height() && contentsSize.wi dth() <= visibleContentSize.width()))
2322 return NotScrollableNoOverflow; 2322 return NotScrollableNoOverflow;
2323 2323
2324 // Covers #2. 2324 // Covers #2.
2325 // FIXME: Do we need to fix this for OOPI? 2325 // FIXME: Do we need to fix this for OOPI?
2326 HTMLFrameOwnerElement* owner = m_frame->deprecatedLocalOwner(); 2326 HTMLFrameOwnerElement* owner = m_frame->deprecatedLocalOwner();
2327 if (owner && (!owner->renderer() || !owner->renderer()->visibleToHitTesting( ))) 2327 if (owner && (!owner->layoutObject() || !owner->layoutObject()->visibleToHit Testing()))
2328 return NotScrollableNotVisible; 2328 return NotScrollableNotVisible;
2329 2329
2330 // Cover #3 and #4. 2330 // Cover #3 and #4.
2331 ScrollbarMode horizontalMode; 2331 ScrollbarMode horizontalMode;
2332 ScrollbarMode verticalMode; 2332 ScrollbarMode verticalMode;
2333 calculateScrollbarModesForLayoutAndSetViewportRenderer(horizontalMode, verti calMode, RulesFromWebContentOnly); 2333 calculateScrollbarModesForLayoutAndSetViewportRenderer(horizontalMode, verti calMode, RulesFromWebContentOnly);
2334 if (horizontalMode == ScrollbarAlwaysOff && verticalMode == ScrollbarAlwaysO ff) 2334 if (horizontalMode == ScrollbarAlwaysOff && verticalMode == ScrollbarAlwaysO ff)
2335 return NotScrollableExplicitlyDisabled; 2335 return NotScrollableExplicitlyDisabled;
2336 2336
2337 return Scrollable; 2337 return Scrollable;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
2408 2408
2409 void FrameView::updateScrollCorner() 2409 void FrameView::updateScrollCorner()
2410 { 2410 {
2411 RefPtr<LayoutStyle> cornerStyle; 2411 RefPtr<LayoutStyle> cornerStyle;
2412 IntRect cornerRect = scrollCornerRect(); 2412 IntRect cornerRect = scrollCornerRect();
2413 Document* doc = m_frame->document(); 2413 Document* doc = m_frame->document();
2414 2414
2415 if (doc && !cornerRect.isEmpty()) { 2415 if (doc && !cornerRect.isEmpty()) {
2416 // Try the <body> element first as a scroll corner source. 2416 // Try the <body> element first as a scroll corner source.
2417 if (Element* body = doc->body()) { 2417 if (Element* body = doc->body()) {
2418 if (LayoutObject* renderer = body->renderer()) 2418 if (LayoutObject* renderer = body->layoutObject())
2419 cornerStyle = renderer->getUncachedPseudoStyle(PseudoStyleReques t(SCROLLBAR_CORNER), renderer->style()); 2419 cornerStyle = renderer->getUncachedPseudoStyle(PseudoStyleReques t(SCROLLBAR_CORNER), renderer->style());
2420 } 2420 }
2421 2421
2422 if (!cornerStyle) { 2422 if (!cornerStyle) {
2423 // If the <body> didn't have a custom style, then the root element m ight. 2423 // If the <body> didn't have a custom style, then the root element m ight.
2424 if (Element* docElement = doc->documentElement()) { 2424 if (Element* docElement = doc->documentElement()) {
2425 if (LayoutObject* renderer = docElement->renderer()) 2425 if (LayoutObject* renderer = docElement->layoutObject())
2426 cornerStyle = renderer->getUncachedPseudoStyle(PseudoStyleRe quest(SCROLLBAR_CORNER), renderer->style()); 2426 cornerStyle = renderer->getUncachedPseudoStyle(PseudoStyleRe quest(SCROLLBAR_CORNER), renderer->style());
2427 } 2427 }
2428 } 2428 }
2429 2429
2430 if (!cornerStyle) { 2430 if (!cornerStyle) {
2431 // If we have an owning ipage/LocalFrame element, then it can set th e custom scrollbar also. 2431 // If we have an owning ipage/LocalFrame element, then it can set th e custom scrollbar also.
2432 if (LayoutPart* layoutObject = m_frame->ownerLayoutObject()) 2432 if (LayoutPart* layoutObject = m_frame->ownerLayoutObject())
2433 cornerStyle = layoutObject->getUncachedPseudoStyle(PseudoStyleRe quest(SCROLLBAR_CORNER), layoutObject->style()); 2433 cornerStyle = layoutObject->getUncachedPseudoStyle(PseudoStyleRe quest(SCROLLBAR_CORNER), layoutObject->style());
2434 } 2434 }
2435 } 2435 }
(...skipping 22 matching lines...) Expand all
2458 Element* htmlElement = frame().document()->documentElement(); 2458 Element* htmlElement = frame().document()->documentElement();
2459 Element* bodyElement = frame().document()->body(); 2459 Element* bodyElement = frame().document()->body();
2460 2460
2461 // We take the aggregate of the base background color 2461 // We take the aggregate of the base background color
2462 // the <html> background color, and the <body> 2462 // the <html> background color, and the <body>
2463 // background color to find the document color. The 2463 // background color to find the document color. The
2464 // addition of the base background color is not 2464 // addition of the base background color is not
2465 // technically part of the document background, but it 2465 // technically part of the document background, but it
2466 // otherwise poses problems when the aggregate is not 2466 // otherwise poses problems when the aggregate is not
2467 // fully opaque. 2467 // fully opaque.
2468 if (htmlElement && htmlElement->renderer()) 2468 if (htmlElement && htmlElement->layoutObject())
2469 result = result.blend(htmlElement->renderer()->resolveColor(CSSPropertyB ackgroundColor)); 2469 result = result.blend(htmlElement->layoutObject()->resolveColor(CSSPrope rtyBackgroundColor));
2470 if (bodyElement && bodyElement->renderer()) 2470 if (bodyElement && bodyElement->layoutObject())
2471 result = result.blend(bodyElement->renderer()->resolveColor(CSSPropertyB ackgroundColor)); 2471 result = result.blend(bodyElement->layoutObject()->resolveColor(CSSPrope rtyBackgroundColor));
2472 2472
2473 return result; 2473 return result;
2474 } 2474 }
2475 2475
2476 FrameView* FrameView::parentFrameView() const 2476 FrameView* FrameView::parentFrameView() const
2477 { 2477 {
2478 if (!parent()) 2478 if (!parent())
2479 return nullptr; 2479 return nullptr;
2480 2480
2481 Frame* parentFrame = m_frame->tree().parent(); 2481 Frame* parentFrame = m_frame->tree().parent();
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
2645 2645
2646 // Since autosize mode forces the scrollbar mode, change them to being auto. 2646 // Since autosize mode forces the scrollbar mode, change them to being auto.
2647 setVerticalScrollbarLock(false); 2647 setVerticalScrollbarLock(false);
2648 setHorizontalScrollbarLock(false); 2648 setHorizontalScrollbarLock(false);
2649 setScrollbarModes(ScrollbarAuto, ScrollbarAuto); 2649 setScrollbarModes(ScrollbarAuto, ScrollbarAuto);
2650 m_autoSizeInfo.clear(); 2650 m_autoSizeInfo.clear();
2651 } 2651 }
2652 2652
2653 void FrameView::forceLayoutForPagination(const FloatSize& pageSize, const FloatS ize& originalPageSize, float maximumShrinkFactor) 2653 void FrameView::forceLayoutForPagination(const FloatSize& pageSize, const FloatS ize& originalPageSize, float maximumShrinkFactor)
2654 { 2654 {
2655 // Dumping externalRepresentation(m_frame->renderer()).ascii() is a good tri ck to see 2655 // Dumping externalRepresentation(m_frame->layoutObject()).ascii() is a good trick to see
2656 // the state of things before and after the layout 2656 // the state of things before and after the layout
2657 if (LayoutView* layoutView = this->layoutView()) { 2657 if (LayoutView* layoutView = this->layoutView()) {
2658 float pageLogicalWidth = layoutView->style()->isHorizontalWritingMode() ? pageSize.width() : pageSize.height(); 2658 float pageLogicalWidth = layoutView->style()->isHorizontalWritingMode() ? pageSize.width() : pageSize.height();
2659 float pageLogicalHeight = layoutView->style()->isHorizontalWritingMode() ? pageSize.height() : pageSize.width(); 2659 float pageLogicalHeight = layoutView->style()->isHorizontalWritingMode() ? pageSize.height() : pageSize.width();
2660 2660
2661 LayoutUnit flooredPageLogicalWidth = static_cast<LayoutUnit>(pageLogical Width); 2661 LayoutUnit flooredPageLogicalWidth = static_cast<LayoutUnit>(pageLogical Width);
2662 LayoutUnit flooredPageLogicalHeight = static_cast<LayoutUnit>(pageLogica lHeight); 2662 LayoutUnit flooredPageLogicalHeight = static_cast<LayoutUnit>(pageLogica lHeight);
2663 layoutView->setLogicalWidth(flooredPageLogicalWidth); 2663 layoutView->setLogicalWidth(flooredPageLogicalWidth);
2664 layoutView->setPageLogicalHeight(flooredPageLogicalHeight); 2664 layoutView->setPageLogicalHeight(flooredPageLogicalHeight);
2665 layoutView->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(); 2665 layoutView->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
(...skipping 1372 matching lines...) Expand 10 before | Expand all | Expand 10 after
4038 { 4038 {
4039 Settings* settings = frame().settings(); 4039 Settings* settings = frame().settings();
4040 if (!settings || !settings->rootLayerScrolls()) 4040 if (!settings || !settings->rootLayerScrolls())
4041 return this; 4041 return this;
4042 4042
4043 LayoutView* layoutView = this->layoutView(); 4043 LayoutView* layoutView = this->layoutView();
4044 return layoutView ? layoutView->scrollableArea() : nullptr; 4044 return layoutView ? layoutView->scrollableArea() : nullptr;
4045 } 4045 }
4046 4046
4047 } // namespace blink 4047 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/frame/Frame.cpp ('k') | Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698