Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Apple Inc. All rights reserved. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
| 7 * Copyright (C) 2010 Google Inc. All rights reserved. | 7 * Copyright (C) 2010 Google Inc. 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 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 257 | 257 |
| 258 if (!shouldCheckForPaintInvalidation(paintInvalidationState)) | 258 if (!shouldCheckForPaintInvalidation(paintInvalidationState)) |
| 259 return; | 259 return; |
| 260 | 260 |
| 261 bool establishesNewPaintInvalidationContainer = isPaintInvalidationContainer (); | 261 bool establishesNewPaintInvalidationContainer = isPaintInvalidationContainer (); |
| 262 const LayoutBoxModelObject& newPaintInvalidationContainer = *adjustComposite dContainerForSpecialAncestors(establishesNewPaintInvalidationContainer ? this : &paintInvalidationState.paintInvalidationContainer()); | 262 const LayoutBoxModelObject& newPaintInvalidationContainer = *adjustComposite dContainerForSpecialAncestors(establishesNewPaintInvalidationContainer ? this : &paintInvalidationState.paintInvalidationContainer()); |
| 263 // FIXME: This assert should be re-enabled when we move paint invalidation t o after compositing update. crbug.com/360286 | 263 // FIXME: This assert should be re-enabled when we move paint invalidation t o after compositing update. crbug.com/360286 |
| 264 // ASSERT(&newPaintInvalidationContainer == containerForPaintInvalidation()) ; | 264 // ASSERT(&newPaintInvalidationContainer == containerForPaintInvalidation()) ; |
| 265 | 265 |
| 266 PaintInvalidationReason reason = invalidatePaintIfNeeded(paintInvalidationSt ate, newPaintInvalidationContainer); | 266 PaintInvalidationReason reason = invalidatePaintIfNeeded(paintInvalidationSt ate, newPaintInvalidationContainer); |
| 267 clearPaintInvalidationState(paintInvalidationState); | 267 if (reason != PaintInvalidationDelayedFull) { |
| 268 clearPaintInvalidationState(paintInvalidationState); | |
| 269 } else { | |
| 270 // Mark this object as needing paint invalidation again in the next fram e, due to the request for delayed paint invalidation. | |
| 271 setShouldDoFullPaintInvalidation(reason); | |
|
esprehn
2015/03/25 05:06:36
This doesn't seem right from inside the invalidate
chrishtr
2015/03/25 23:30:35
That's a good idea, and as you pointed out elsewhe
| |
| 272 } | |
| 268 | 273 |
| 269 PaintInvalidationState childTreeWalkState(paintInvalidationState, *this, new PaintInvalidationContainer); | 274 PaintInvalidationState childTreeWalkState(paintInvalidationState, *this, new PaintInvalidationContainer); |
| 270 if (reason == PaintInvalidationLocationChange) | 275 if (reason == PaintInvalidationLocationChange) |
| 271 childTreeWalkState.setForceCheckForPaintInvalidation(); | 276 childTreeWalkState.setForceCheckForPaintInvalidation(); |
| 272 invalidatePaintOfSubtreesIfNeeded(childTreeWalkState); | 277 invalidatePaintOfSubtreesIfNeeded(childTreeWalkState); |
| 273 } | 278 } |
| 274 | 279 |
| 275 void LayoutBoxModelObject::setBackingNeedsPaintInvalidationInRect(const LayoutRe ct& r, PaintInvalidationReason invalidationReason) const | 280 void LayoutBoxModelObject::setBackingNeedsPaintInvalidationInRect(const LayoutRe ct& r, PaintInvalidationReason invalidationReason) const |
| 276 { | 281 { |
| 277 // https://bugs.webkit.org/show_bug.cgi?id=61159 describes an unreproducible crash here, | 282 // https://bugs.webkit.org/show_bug.cgi?id=61159 describes an unreproducible crash here, |
| (...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 876 ASSERT(!beforeChild || toBoxModelObject == beforeChild->parent()); | 881 ASSERT(!beforeChild || toBoxModelObject == beforeChild->parent()); |
| 877 for (LayoutObject* child = startChild; child && child != endChild; ) { | 882 for (LayoutObject* child = startChild; child && child != endChild; ) { |
| 878 // Save our next sibling as moveChildTo will clear it. | 883 // Save our next sibling as moveChildTo will clear it. |
| 879 LayoutObject* nextSibling = child->nextSibling(); | 884 LayoutObject* nextSibling = child->nextSibling(); |
| 880 moveChildTo(toBoxModelObject, child, beforeChild, fullRemoveInsert); | 885 moveChildTo(toBoxModelObject, child, beforeChild, fullRemoveInsert); |
| 881 child = nextSibling; | 886 child = nextSibling; |
| 882 } | 887 } |
| 883 } | 888 } |
| 884 | 889 |
| 885 } // namespace blink | 890 } // namespace blink |
| OLD | NEW |