Chromium Code Reviews| Index: Source/core/frame/FrameView.cpp |
| diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp |
| index d5bf83aa8aecf7602cb2c174a742c86203a68ac7..3ad0947e71f1b4ef984773e8cffca0bfab8784a9 100644 |
| --- a/Source/core/frame/FrameView.cpp |
| +++ b/Source/core/frame/FrameView.cpp |
| @@ -991,8 +991,6 @@ void FrameView::layout(bool allowSubtree) |
| layer->updateLayerPositionsAfterLayout(); |
| - if (m_doFullPaintInvalidation) |
| - renderView()->compositor()->fullyInvalidatePaint(); |
| renderView()->compositor()->didLayout(); |
| m_layoutCount++; |
| @@ -1048,6 +1046,9 @@ void FrameView::invalidateTreeIfNeeded() |
| PaintInvalidationState rootPaintInvalidationState(rootForPaintInvalidation); |
| + if (m_doFullPaintInvalidation) |
| + renderView()->compositor()->fullyInvalidatePaint(); |
| + |
| rootForPaintInvalidation.invalidateTreeIfNeeded(rootPaintInvalidationState); |
| // Invalidate the paint of the frameviews scrollbars if needed |
| @@ -1058,6 +1059,7 @@ void FrameView::invalidateTreeIfNeeded() |
| resetScrollbarDamage(); |
| m_doFullPaintInvalidation = false; |
| + |
| #ifndef NDEBUG |
| renderView()->assertSubtreeClearedPaintInvalidationState(); |
| #endif |
| @@ -1714,8 +1716,11 @@ void FrameView::scrollbarExistenceDidChange() |
| // http://crbug.com/269692 |
| bool useOverlayScrollbars = ScrollbarTheme::theme()->usesOverlayScrollbars(); |
| + // FIXME: this call to layout() could be called within FrameView::layout(), but before performLayout(), |
| + // causing double-layout. |
|
dsinclair
2014/10/31 00:14:34
Can you file a bug to track this?
chrishtr
2014/10/31 18:22:24
Done.
|
| if (!useOverlayScrollbars && needsLayout()) |
| layout(); |
| + } |
|
dsinclair
2014/10/31 00:14:34
Don't think this should be here.
chrishtr
2014/10/31 18:22:24
Done.
|
| if (renderView() && renderView()->usesCompositing()) { |
| renderView()->compositor()->frameViewScrollbarsExistenceDidChange(); |