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

Unified Diff: Source/core/frame/FrameView.cpp

Issue 1025213002: Begin tracking why layout is invalidated (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 side-by-side diff with in-line comments
Download patch
Index: Source/core/frame/FrameView.cpp
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp
index acbd858b0686fc46ed2174cae7756cc06d1dec6b..cbcf0b85053d24d1c54470bff89acf52ce612958 100644
--- a/Source/core/frame/FrameView.cpp
+++ b/Source/core/frame/FrameView.cpp
@@ -789,7 +789,7 @@ inline void FrameView::forceLayoutParentViewIfNeeded()
RefPtrWillBeRawPtr<FrameView> frameView = ownerLayoutObject->frame()->view();
// Mark the owner renderer as needing layout.
- ownerLayoutObject->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
+ ownerLayoutObject->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::Unknown);
// Synchronously enter layout, to layout the view containing the host object/embed/iframe.
ASSERT(frameView);
@@ -1317,13 +1317,13 @@ void FrameView::viewportConstrainedVisibleContentSizeChanged(bool widthChanged,
if (style->width().isFixed() && (style->left().isAuto() || style->right().isAuto()))
renderer->setNeedsPositionedMovementLayout();
else
- renderer->setNeedsLayoutAndFullPaintInvalidation();
+ renderer->setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReason::SizeChanged);
}
if (heightChanged) {
if (style->height().isFixed() && (style->top().isAuto() || style->bottom().isAuto()))
renderer->setNeedsPositionedMovementLayout();
else
- renderer->setNeedsLayoutAndFullPaintInvalidation();
+ renderer->setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReason::SizeChanged);
}
}
}
@@ -1885,7 +1885,7 @@ void FrameView::setNeedsLayout()
RELEASE_ASSERT(!m_frame->document() || m_frame->document()->lifecycle().stateAllowsLayoutInvalidation() || (box && box->isSVGRoot()));
if (LayoutView* layoutView = this->layoutView())
- layoutView->setNeedsLayout();
+ layoutView->setNeedsLayout(LayoutInvalidationReason::Unknown);
}
bool FrameView::isTransparent() const
@@ -2673,7 +2673,7 @@ void FrameView::forceLayoutForPagination(const FloatSize& pageSize, const FloatS
LayoutUnit flooredPageLogicalHeight = static_cast<LayoutUnit>(pageLogicalHeight);
layoutView->setLogicalWidth(flooredPageLogicalWidth);
layoutView->setPageLogicalHeight(flooredPageLogicalHeight);
- layoutView->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
+ layoutView->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::PrintingChanged);
layout();
// If we don't fit in the given page width, we'll lay out again. If we don't fit in the
@@ -2693,7 +2693,7 @@ void FrameView::forceLayoutForPagination(const FloatSize& pageSize, const FloatS
flooredPageLogicalHeight = static_cast<LayoutUnit>(pageLogicalHeight);
layoutView->setLogicalWidth(flooredPageLogicalWidth);
layoutView->setPageLogicalHeight(flooredPageLogicalHeight);
- layoutView->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation();
+ layoutView->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::PrintingChanged);
layout();
const LayoutRect& updatedDocumentRect = LayoutRect(layoutView->documentRect());

Powered by Google App Engine
This is Rietveld 408576698