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(); |