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

Side by Side Diff: Source/core/rendering/RenderBox.cpp

Issue 271803002: [RAL] Fix nested non-composited RenderView repainting (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Proposed fix Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 1570 matching lines...) Expand 10 before | Expand all | Expand 10 after
1581 // ASSERT(&newRepaintContainer == containerForRepaint()); 1581 // ASSERT(&newRepaintContainer == containerForRepaint());
1582 1582
1583 const LayoutRect oldRepaintRect = previousRepaintRect(); 1583 const LayoutRect oldRepaintRect = previousRepaintRect();
1584 const LayoutPoint oldPositionFromRepaintContainer = previousPositionFromRepa intContainer(); 1584 const LayoutPoint oldPositionFromRepaintContainer = previousPositionFromRepa intContainer();
1585 setPreviousRepaintRect(clippedOverflowRectForRepaint(&newRepaintContainer)); 1585 setPreviousRepaintRect(clippedOverflowRectForRepaint(&newRepaintContainer));
1586 setPreviousPositionFromRepaintContainer(positionFromRepaintContainer(&newRep aintContainer)); 1586 setPreviousPositionFromRepaintContainer(positionFromRepaintContainer(&newRep aintContainer));
1587 1587
1588 // If we are set to do a full repaint that means the RenderView will be 1588 // If we are set to do a full repaint that means the RenderView will be
1589 // invalidated. We can then skip issuing of invalidations for the child 1589 // invalidated. We can then skip issuing of invalidations for the child
1590 // renderers as they'll be covered by the RenderView. 1590 // renderers as they'll be covered by the RenderView.
1591 if (view()->doingFullRepaint() && this != view()) { 1591 if (view()->doingFullRepaint()) {
1592 LayoutStateMaintainer statePusher(*this, isTableRow() ? LayoutSize() : l ocationOffset()); 1592 LayoutStateMaintainer statePusher(*this, isTableRow() ? LayoutSize() : l ocationOffset());
Julien - ping for review 2014/05/30 02:39:32 It is weird that we push LayoutState if we don't e
leviw_travelin_and_unemployed 2014/05/30 15:52:57 We still need to generate our cached repaint rects
1593 RenderObject::repaintTreeAfterLayout(newRepaintContainer); 1593 RenderObject::repaintTreeAfterLayout(newRepaintContainer);
1594 return; 1594 return;
1595 } 1595 }
1596 1596
1597 if ((onlyNeededPositionedMovementLayout() && compositingState() != PaintsInt oOwnBacking) 1597 if ((onlyNeededPositionedMovementLayout() && compositingState() != PaintsInt oOwnBacking)
1598 || (shouldDoFullRepaintIfSelfPaintingLayer() 1598 || (shouldDoFullRepaintIfSelfPaintingLayer()
1599 && hasLayer() 1599 && hasLayer()
1600 && layer()->isSelfPaintingLayer())) { 1600 && layer()->isSelfPaintingLayer())) {
1601 setShouldDoFullRepaintAfterLayout(true); 1601 setShouldDoFullRepaintAfterLayout(true);
1602 } 1602 }
(...skipping 3085 matching lines...) Expand 10 before | Expand all | Expand 10 after
4688 return 0; 4688 return 0;
4689 4689
4690 if (!layoutState && !flowThreadContainingBlock()) 4690 if (!layoutState && !flowThreadContainingBlock())
4691 return 0; 4691 return 0;
4692 4692
4693 RenderBlock* containerBlock = containingBlock(); 4693 RenderBlock* containerBlock = containingBlock();
4694 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); 4694 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop();
4695 } 4695 }
4696 4696
4697 } // namespace WebCore 4697 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698