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

Unified Diff: third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp

Issue 2423513002: Simplify incremental paint invalidation (Closed)
Patch Set: Update test and rebaseline layout tests Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
diff --git a/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
index 4765fd8d4e364994778af3321db57bf8f13ab943..910f0acb6335499ff75a55498a92e19851a02341 100644
--- a/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
+++ b/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
@@ -373,48 +373,6 @@ void ObjectPaintInvalidator::slowSetPaintingLayerNeedsRepaint() {
paintingLayer->setNeedsRepaint();
}
-bool ObjectPaintInvalidatorWithContext::incrementallyInvalidatePaint() {
- const LayoutRect& oldBounds = m_context.oldBounds;
- const LayoutRect& newBounds = m_context.newBounds;
-
- DCHECK(oldBounds.location() == newBounds.location());
-
- LayoutUnit deltaRight = newBounds.maxX() - oldBounds.maxX();
- LayoutUnit deltaBottom = newBounds.maxY() - oldBounds.maxY();
- if (!deltaRight && !deltaBottom)
- return false;
-
- if (deltaRight > 0) {
- LayoutRect invalidationRect(oldBounds.maxX(), newBounds.y(), deltaRight,
- newBounds.height());
- invalidatePaintUsingContainer(*m_context.paintInvalidationContainer,
- invalidationRect,
- PaintInvalidationIncremental);
- } else if (deltaRight < 0) {
- LayoutRect invalidationRect(newBounds.maxX(), oldBounds.y(), -deltaRight,
- oldBounds.height());
- invalidatePaintUsingContainer(*m_context.paintInvalidationContainer,
- invalidationRect,
- PaintInvalidationIncremental);
- }
-
- if (deltaBottom > 0) {
- LayoutRect invalidationRect(newBounds.x(), oldBounds.maxY(),
- newBounds.width(), deltaBottom);
- invalidatePaintUsingContainer(*m_context.paintInvalidationContainer,
- invalidationRect,
- PaintInvalidationIncremental);
- } else if (deltaBottom < 0) {
- LayoutRect invalidationRect(oldBounds.x(), newBounds.maxY(),
- oldBounds.width(), -deltaBottom);
- invalidatePaintUsingContainer(*m_context.paintInvalidationContainer,
- invalidationRect,
- PaintInvalidationIncremental);
- }
-
- return true;
-}
-
void ObjectPaintInvalidatorWithContext::fullyInvalidatePaint(
PaintInvalidationReason reason,
const LayoutRect& oldBounds,
@@ -541,8 +499,10 @@ ObjectPaintInvalidatorWithContext::invalidatePaintIfNeededWithComputedReason(
// selection rect regardless.
invalidateSelectionIfNeeded(reason);
- if (reason == PaintInvalidationIncremental && !incrementallyInvalidatePaint())
- reason = PaintInvalidationNone;
+ if (reason == PaintInvalidationIncremental) {
+ reason = m_context.oldBounds == m_context.newBounds ? PaintInvalidationNone
+ : PaintInvalidationFull;
+ }
switch (reason) {
case PaintInvalidationNone:
@@ -558,8 +518,6 @@ ObjectPaintInvalidatorWithContext::invalidatePaintIfNeededWithComputedReason(
break;
}
return PaintInvalidationNone;
- case PaintInvalidationIncremental:
- break;
case PaintInvalidationDelayedFull:
return PaintInvalidationDelayedFull;
default:

Powered by Google App Engine
This is Rietveld 408576698