Index: Source/core/frame/FrameView.cpp |
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp |
index 8ec58d08914a74881c9cdea69332274fb6a15fda..f567a8d5a11f3781214e9d8c5deea5bd6178daa0 100644 |
--- a/Source/core/frame/FrameView.cpp |
+++ b/Source/core/frame/FrameView.cpp |
@@ -1044,16 +1044,22 @@ void FrameView::repaintTree(RenderObject* root) |
// Until those states are fully fledged, I'll just disable the ASSERTS. |
DisableCompositingQueryAsserts disabler; |
+ root->updateShouldDoFullRepaintAfterLayout(); |
Julien - ping for review
2014/03/31 17:31:26
Are you sure this code is needed? (Document won't
dsinclair
2014/03/31 19:34:56
Done.
|
+ bool renderViewDidFullInvalidation = root->isRenderView() && root->shouldDoFullRepaintAfterLayout(); |
+ |
for (RenderObject* renderer = root; renderer; renderer = renderer->nextInPreOrder()) { |
+ // If the RenderView did a full invalidation, and that's the view that we're part |
+ // of, skip issuing invalidations for the RenderObject as it will be |
+ // covered by the RenderView invalidation. |
+ if (renderer != root && (renderer->view() == root) && renderViewDidFullInvalidation) { |
+ renderer->clearRepaintState(); |
+ continue; |
+ } |
Julien - ping for review
2014/03/31 17:31:26
I would just pull this code out of the previous lo
dsinclair
2014/03/31 19:34:56
Done.
|
+ |
const LayoutRect& oldRepaintRect = renderer->oldRepaintRect(); |
const LayoutRect& newRepaintRect = renderer->newRepaintRect(); |
- if ((renderer->onlyNeededPositionedMovementLayout() && renderer->compositingState() != PaintsIntoOwnBacking) |
- || (renderer->shouldDoFullRepaintIfSelfPaintingLayer() |
- && renderer->hasLayer() |
- && toRenderLayerModelObject(renderer)->layer()->isSelfPaintingLayer())) { |
- renderer->setShouldDoFullRepaintAfterLayout(true); |
- } |
+ renderer->updateShouldDoFullRepaintAfterLayout(); |
// FIXME: Currently renderers with layers will get repainted when we call updateLayerPositionsAfterLayout. |
// That call should be broken apart to position the layers be done before |