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 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 } | 386 } |
387 | 387 |
388 void LayoutBoxModelObject::invalidateTreeIfNeeded(const PaintInvalidationState&
paintInvalidationState) | 388 void LayoutBoxModelObject::invalidateTreeIfNeeded(const PaintInvalidationState&
paintInvalidationState) |
389 { | 389 { |
390 ASSERT(!needsLayout()); | 390 ASSERT(!needsLayout()); |
391 | 391 |
392 PaintInvalidationState newPaintInvalidationState(paintInvalidationState, *th
is); | 392 PaintInvalidationState newPaintInvalidationState(paintInvalidationState, *th
is); |
393 if (!shouldCheckForPaintInvalidation(newPaintInvalidationState)) | 393 if (!shouldCheckForPaintInvalidation(newPaintInvalidationState)) |
394 return; | 394 return; |
395 | 395 |
| 396 if (mayNeedPaintInvalidationSubtree()) |
| 397 newPaintInvalidationState.setForceSubtreeInvalidationCheckingWithinConta
iner(); |
| 398 |
396 LayoutRect previousPaintInvalidationRect = this->previousPaintInvalidationRe
ct(); | 399 LayoutRect previousPaintInvalidationRect = this->previousPaintInvalidationRe
ct(); |
397 LayoutPoint previousPosition = previousPositionFromPaintInvalidationBacking(
); | 400 LayoutPoint previousPosition = previousPositionFromPaintInvalidationBacking(
); |
398 PaintInvalidationReason reason = invalidatePaintIfNeeded(newPaintInvalidatio
nState); | 401 PaintInvalidationReason reason = invalidatePaintIfNeeded(newPaintInvalidatio
nState); |
399 clearPaintInvalidationFlags(newPaintInvalidationState); | 402 clearPaintInvalidationFlags(newPaintInvalidationState); |
400 | 403 |
401 if (previousPosition != previousPositionFromPaintInvalidationBacking()) | 404 if (previousPosition != previousPositionFromPaintInvalidationBacking()) |
402 newPaintInvalidationState.setForceSubtreeInvalidationCheckingWithinConta
iner(); | 405 newPaintInvalidationState.setForceSubtreeInvalidationCheckingWithinConta
iner(); |
403 | 406 |
404 // TODO(wangxianzhu): Combine this function into LayoutObject::invalidateTre
eIfNeeded() when removing the following workarounds. | 407 // TODO(wangxianzhu): Combine this function into LayoutObject::invalidateTre
eIfNeeded() when removing the following workarounds. |
405 | 408 |
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1116 if (rootElementStyle->hasBackground()) | 1119 if (rootElementStyle->hasBackground()) |
1117 return false; | 1120 return false; |
1118 | 1121 |
1119 if (node() != document().firstBodyElement()) | 1122 if (node() != document().firstBodyElement()) |
1120 return false; | 1123 return false; |
1121 | 1124 |
1122 return true; | 1125 return true; |
1123 } | 1126 } |
1124 | 1127 |
1125 } // namespace blink | 1128 } // namespace blink |
OLD | NEW |