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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.cpp

Issue 2220333004: Set objects to need full paint invalidation after clearing their invalidation rects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: none Created 4 years, 4 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
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) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 1467 matching lines...) Expand 10 before | Expand all | Expand 10 after
1478 void LayoutObject::adjustPreviousPaintInvalidationForScrollIfNeeded(const Double Size& scrollDelta) 1478 void LayoutObject::adjustPreviousPaintInvalidationForScrollIfNeeded(const Double Size& scrollDelta)
1479 { 1479 {
1480 if (containerForPaintInvalidation().usesCompositedScrolling()) 1480 if (containerForPaintInvalidation().usesCompositedScrolling())
1481 return; 1481 return;
1482 m_previousPaintInvalidationRect.move(LayoutSize(scrollDelta)); 1482 m_previousPaintInvalidationRect.move(LayoutSize(scrollDelta));
1483 } 1483 }
1484 1484
1485 void LayoutObject::clearPreviousPaintInvalidationRects() 1485 void LayoutObject::clearPreviousPaintInvalidationRects()
1486 { 1486 {
1487 setPreviousPaintInvalidationRect(LayoutRect()); 1487 setPreviousPaintInvalidationRect(LayoutRect());
1488 // After clearing ("invalidating" the paint invalidation rects, mark this ob ject as needing to re-compute them.
1489 setShouldDoFullPaintInvalidation();
1488 } 1490 }
1489 1491
1490 void LayoutObject::incrementallyInvalidatePaint(const LayoutBoxModelObject& pain tInvalidationContainer, const LayoutRect& oldBounds, const LayoutRect& newBounds , const LayoutPoint& positionFromPaintInvalidationBacking) 1492 void LayoutObject::incrementallyInvalidatePaint(const LayoutBoxModelObject& pain tInvalidationContainer, const LayoutRect& oldBounds, const LayoutRect& newBounds , const LayoutPoint& positionFromPaintInvalidationBacking)
1491 { 1493 {
1492 ASSERT(oldBounds.location() == newBounds.location()); 1494 ASSERT(oldBounds.location() == newBounds.location());
1493 1495
1494 LayoutUnit deltaRight = newBounds.maxX() - oldBounds.maxX(); 1496 LayoutUnit deltaRight = newBounds.maxX() - oldBounds.maxX();
1495 if (deltaRight > 0) { 1497 if (deltaRight > 0) {
1496 LayoutRect invalidationRect(oldBounds.maxX(), newBounds.y(), deltaRight, newBounds.height()); 1498 LayoutRect invalidationRect(oldBounds.maxX(), newBounds.y(), deltaRight, newBounds.height());
1497 invalidatePaintUsingContainer(paintInvalidationContainer, invalidationRe ct, PaintInvalidationIncremental); 1499 invalidatePaintUsingContainer(paintInvalidationContainer, invalidationRe ct, PaintInvalidationIncremental);
(...skipping 2152 matching lines...) Expand 10 before | Expand all | Expand 10 after
3650 const blink::LayoutObject* root = object1; 3652 const blink::LayoutObject* root = object1;
3651 while (root->parent()) 3653 while (root->parent())
3652 root = root->parent(); 3654 root = root->parent();
3653 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3655 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3654 } else { 3656 } else {
3655 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); 3657 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)");
3656 } 3658 }
3657 } 3659 }
3658 3660
3659 #endif 3661 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698