Changeset 223622 in webkit
- Timestamp:
- Oct 18, 2017 12:19:38 PM (7 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r223621 r223622 1 2017-10-18 Zalan Bujtas <zalan@apple.com> 2 3 [FrameView::layout cleanup] Move root/body marking dirty logic to a separate function 4 https://bugs.webkit.org/show_bug.cgi?id=178477 5 <rdar://problem/35056478> 6 7 Reviewed by Simon Fraser. 8 9 No change in functionality. 10 11 * page/FrameView.cpp: 12 (WebCore::FrameView::markRootOrBodyRendererDirty const): 13 (WebCore::FrameView::layout): 14 * page/FrameView.h: 15 1 16 2017-10-18 Keith Miller <keith_miller@apple.com> 2 17 -
trunk/Source/WebCore/page/FrameView.cpp
r223605 r223622 1337 1337 } 1338 1338 1339 void FrameView::markRootOrBodyRendererDirty() const 1340 { 1341 auto& document = *frame().document(); 1342 RenderBox* rootRenderer = document.documentElement() ? document.documentElement()->renderBox() : nullptr; 1343 auto* body = document.bodyOrFrameset(); 1344 RenderBox* bodyRenderer = rootRenderer && body ? body->renderBox() : nullptr; 1345 if (bodyRenderer && bodyRenderer->stretchesToViewport()) 1346 bodyRenderer->setChildNeedsLayout(); 1347 else if (rootRenderer && rootRenderer->stretchesToViewport()) 1348 rootRenderer->setChildNeedsLayout(); 1349 } 1350 1339 1351 void FrameView::layout(bool allowSubtreeLayout) 1340 1352 { … … 1477 1489 } 1478 1490 1479 LayoutSizeoldSize = m_size;1491 auto oldSize = m_size; 1480 1492 m_size = layoutSize(); 1481 1482 1493 if (oldSize != m_size) { 1483 1494 LOG(Layout, " layout size changed from %.3fx%.3f to %.3fx%.3f", oldSize.width().toFloat(), oldSize.height().toFloat(), m_size.width().toFloat(), m_size.height().toFloat()); 1484 1495 m_needsFullRepaint = true; 1485 if (!m_firstLayout) { 1486 RenderBox* rootRenderer = document.documentElement() ? document.documentElement()->renderBox() : nullptr; 1487 auto* body = document.bodyOrFrameset(); 1488 RenderBox* bodyRenderer = rootRenderer && body ? body->renderBox() : nullptr; 1489 if (bodyRenderer && bodyRenderer->stretchesToViewport()) 1490 bodyRenderer->setChildNeedsLayout(); 1491 else if (rootRenderer && rootRenderer->stretchesToViewport()) 1492 rootRenderer->setChildNeedsLayout(); 1493 } 1496 if (!m_firstLayout) 1497 markRootOrBodyRendererDirty(); 1494 1498 } 1495 1496 1499 m_layoutPhase = InPreLayout; 1497 1500 } -
trunk/Source/WebCore/page/FrameView.h
r223605 r223622 767 767 bool frameFlatteningEnabled() const; 768 768 bool isFrameFlatteningValidForThisFrame() const; 769 770 void markRootOrBodyRendererDirty() const; 769 771 770 772 bool qualifiesAsVisuallyNonEmpty() const;
Note: See TracChangeset
for help on using the changeset viewer.