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

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

Issue 2449953005: [SPInvalidation] Handle pixel-snapping of paint invalidation rects (Closed)
Patch Set: PaintInvalidationRectInBacking struct Created 4 years, 1 month 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. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc.
7 * All rights reserved. 7 * All rights reserved.
8 * Copyright (C) 2009 Google Inc. All rights reserved. 8 * Copyright (C) 2009 Google Inc. All rights reserved.
9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. 9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved.
10 * (http://www.torchmobile.com/) 10 * (http://www.torchmobile.com/)
(...skipping 1187 matching lines...) Expand 10 before | Expand all | Expand 10 after
1198 LayoutView* v = view(); 1198 LayoutView* v = view();
1199 if (v->document().printing()) 1199 if (v->document().printing())
1200 return PaintInvalidationNone; // Don't invalidate paints if we're printing. 1200 return PaintInvalidationNone; // Don't invalidate paints if we're printing.
1201 1201
1202 PaintInvalidatorContextAdapter context(paintInvalidationState); 1202 PaintInvalidatorContextAdapter context(paintInvalidationState);
1203 1203
1204 const LayoutBoxModelObject& paintInvalidationContainer = 1204 const LayoutBoxModelObject& paintInvalidationContainer =
1205 paintInvalidationState.paintInvalidationContainer(); 1205 paintInvalidationState.paintInvalidationContainer();
1206 DCHECK(paintInvalidationContainer == containerForPaintInvalidation()); 1206 DCHECK(paintInvalidationContainer == containerForPaintInvalidation());
1207 1207
1208 context.oldBounds = previousPaintInvalidationRect(); 1208 context.oldBounds.rect = previousPaintInvalidationRect();
1209 context.oldLocation = previousPositionFromPaintInvalidationBacking(); 1209 context.oldLocation = previousPositionFromPaintInvalidationBacking();
1210 context.newBounds = 1210 context.newBounds.rect =
1211 paintInvalidationState.computePaintInvalidationRectInBacking(); 1211 paintInvalidationState.computePaintInvalidationRectInBacking();
1212 context.newLocation = 1212 context.newLocation =
1213 paintInvalidationState.computePositionFromPaintInvalidationBacking(); 1213 paintInvalidationState.computePositionFromPaintInvalidationBacking();
1214 1214
1215 IntSize adjustment = 1215 IntSize adjustment =
1216 scrollAdjustmentForPaintInvalidation(paintInvalidationContainer); 1216 scrollAdjustmentForPaintInvalidation(paintInvalidationContainer);
1217 context.newLocation.move(adjustment); 1217 context.newLocation.move(adjustment);
1218 context.newBounds.move(adjustment); 1218 context.newBounds.rect.move(adjustment);
1219 1219
1220 adjustVisualRectForRasterEffects(context.newBounds); 1220 adjustVisualRectForRasterEffects(context.newBounds.rect);
1221 1221
1222 setPreviousPaintInvalidationRect(context.newBounds); 1222 setPreviousPaintInvalidationRect(context.newBounds.rect);
1223 setPreviousPositionFromPaintInvalidationBacking(context.newLocation); 1223 setPreviousPositionFromPaintInvalidationBacking(context.newLocation);
1224 1224
1225 if (!shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() && 1225 if (!shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState() &&
1226 paintInvalidationState 1226 paintInvalidationState
1227 .forcedSubtreeInvalidationRectUpdateWithinContainerOnly()) { 1227 .forcedSubtreeInvalidationRectUpdateWithinContainerOnly()) {
1228 // We are done updating the paint invalidation rect. No other paint 1228 // We are done updating the paint invalidation rect. No other paint
1229 // invalidation work to do for this object. 1229 // invalidation work to do for this object.
1230 return PaintInvalidationNone; 1230 return PaintInvalidationNone;
1231 } 1231 }
1232 1232
(...skipping 2324 matching lines...) Expand 10 before | Expand all | Expand 10 after
3557 const blink::LayoutObject* root = object1; 3557 const blink::LayoutObject* root = object1;
3558 while (root->parent()) 3558 while (root->parent())
3559 root = root->parent(); 3559 root = root->parent();
3560 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3560 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3561 } else { 3561 } else {
3562 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); 3562 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)");
3563 } 3563 }
3564 } 3564 }
3565 3565
3566 #endif 3566 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698