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 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 } | 255 } |
256 } | 256 } |
257 | 257 |
258 LayoutObject::willBeDestroyed(); | 258 LayoutObject::willBeDestroyed(); |
259 | 259 |
260 destroyLayer(); | 260 destroyLayer(); |
261 } | 261 } |
262 | 262 |
263 void LayoutBoxModelObject::styleWillChange(StyleDifference diff, | 263 void LayoutBoxModelObject::styleWillChange(StyleDifference diff, |
264 const ComputedStyle& newStyle) { | 264 const ComputedStyle& newStyle) { |
265 // This object's layer may cease to be a stacking context, in which case the | 265 // This object's layer may begin or cease to be a stacking context, in which |
266 // paint invalidation container of the children may change. Thus we need to | 266 // case the paint invalidation container of this object and descendants may |
267 // invalidate paint eagerly for all such children. | 267 // change. Thus we need to invalidate paint eagerly for all such children. |
268 if (hasLayer() && enclosingLayer()->stackingNode() && | 268 // PaintLayerCompositor::paintInvalidationOnCompositingChange() doesn't work |
269 enclosingLayer()->stackingNode()->isStackingContext() && | 269 // for the case because we can only see the new paintInvalidationContainer |
270 !newStyle.isStackingContext()) { | 270 // during compositing update. |
| 271 if (style() && |
| 272 (style()->isStackingContext() != newStyle.isStackingContext())) { |
271 // The following disablers are valid because we need to invalidate based on | 273 // The following disablers are valid because we need to invalidate based on |
272 // the current status. | 274 // the current status. |
273 DisableCompositingQueryAsserts compositingDisabler; | 275 DisableCompositingQueryAsserts compositingDisabler; |
274 DisablePaintInvalidationStateAsserts paintDisabler; | 276 DisablePaintInvalidationStateAsserts paintDisabler; |
275 ObjectPaintInvalidator(*this) | 277 ObjectPaintInvalidator(*this) |
276 .invalidatePaintIncludingNonCompositingDescendants(); | 278 .invalidatePaintIncludingNonCompositingDescendants(); |
277 } | 279 } |
278 | 280 |
279 FloatStateForStyleChange::setWasFloating(this, isFloating()); | 281 FloatStateForStyleChange::setWasFloating(this, isFloating()); |
280 | 282 |
(...skipping 1184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1465 if (rootElementStyle->hasBackground()) | 1467 if (rootElementStyle->hasBackground()) |
1466 return false; | 1468 return false; |
1467 | 1469 |
1468 if (node() != document().firstBodyElement()) | 1470 if (node() != document().firstBodyElement()) |
1469 return false; | 1471 return false; |
1470 | 1472 |
1471 return true; | 1473 return true; |
1472 } | 1474 } |
1473 | 1475 |
1474 } // namespace blink | 1476 } // namespace blink |
OLD | NEW |