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) 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. All rights reserv
ed. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 1197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1208 | 1208 |
1209 // Not using enclosingCompositedContainer() directly because this object may
be in an orphaned subtree. | 1209 // Not using enclosingCompositedContainer() directly because this object may
be in an orphaned subtree. |
1210 if (const DeprecatedPaintLayer* enclosingLayer = this->enclosingLayer()) { | 1210 if (const DeprecatedPaintLayer* enclosingLayer = this->enclosingLayer()) { |
1211 // This is valid because we want to invalidate the client in the display
item list of the current backing. | 1211 // This is valid because we want to invalidate the client in the display
item list of the current backing. |
1212 DisableCompositingQueryAsserts disabler; | 1212 DisableCompositingQueryAsserts disabler; |
1213 if (const DeprecatedPaintLayer* paintInvalidationLayer = enclosingLayer-
>enclosingLayerForPaintInvalidationCrossingFrameBoundaries()) | 1213 if (const DeprecatedPaintLayer* paintInvalidationLayer = enclosingLayer-
>enclosingLayerForPaintInvalidationCrossingFrameBoundaries()) |
1214 paintInvalidationLayer->layoutObject()->invalidateDisplayItemClientO
nBacking(displayItemClient); | 1214 paintInvalidationLayer->layoutObject()->invalidateDisplayItemClientO
nBacking(displayItemClient); |
1215 } | 1215 } |
1216 } | 1216 } |
1217 | 1217 |
| 1218 static void invalidateDisplayItemClientForNonCompositingDescendantsRecursive(con
st LayoutBoxModelObject& paintInvalidationContainer, const LayoutObject& layoutO
bject) |
| 1219 { |
| 1220 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(layoutObject
); |
| 1221 for (LayoutObject* child = layoutObject.slowFirstChild(); child; child = chi
ld->nextSibling()) { |
| 1222 if (!child->isPaintInvalidationContainer()) |
| 1223 invalidateDisplayItemClientForNonCompositingDescendantsRecursive(pai
ntInvalidationContainer, *child); |
| 1224 } |
| 1225 } |
| 1226 |
| 1227 void LayoutObject::invalidateDisplayItemClientForNonCompositingDescendants() con
st |
| 1228 { |
| 1229 ASSERT(RuntimeEnabledFeatures::slimmingPaintEnabled()); |
| 1230 |
| 1231 // Not using enclosingCompositedContainer() directly because this object may
be in an orphaned subtree. |
| 1232 if (const DeprecatedPaintLayer* enclosingLayer = this->enclosingLayer()) { |
| 1233 // This is valid because we want to invalidate the client in the display
item list of the current backing. |
| 1234 DisableCompositingQueryAsserts disabler; |
| 1235 if (const DeprecatedPaintLayer* paintInvalidationLayer = enclosingLayer-
>enclosingLayerForPaintInvalidationCrossingFrameBoundaries()) |
| 1236 invalidateDisplayItemClientForNonCompositingDescendantsRecursive(*pa
intInvalidationLayer->layoutObject(), *this); |
| 1237 } |
| 1238 } |
| 1239 |
1218 void LayoutObject::invalidateDisplayItemClients(const LayoutBoxModelObject& pain
tInvalidationContainer) const | 1240 void LayoutObject::invalidateDisplayItemClients(const LayoutBoxModelObject& pain
tInvalidationContainer) const |
1219 { | 1241 { |
1220 ASSERT(RuntimeEnabledFeatures::slimmingPaintEnabled()); | 1242 ASSERT(RuntimeEnabledFeatures::slimmingPaintEnabled()); |
1221 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*this); | 1243 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*this); |
1222 } | 1244 } |
1223 | 1245 |
1224 LayoutRect LayoutObject::boundsRectForPaintInvalidation(const LayoutBoxModelObje
ct* paintInvalidationContainer, const PaintInvalidationState* paintInvalidationS
tate) const | 1246 LayoutRect LayoutObject::boundsRectForPaintInvalidation(const LayoutBoxModelObje
ct* paintInvalidationContainer, const PaintInvalidationState* paintInvalidationS
tate) const |
1225 { | 1247 { |
1226 if (!paintInvalidationContainer) | 1248 if (!paintInvalidationContainer) |
1227 return computePaintInvalidationRect(paintInvalidationContainer, paintInv
alidationState); | 1249 return computePaintInvalidationRect(paintInvalidationContainer, paintInv
alidationState); |
(...skipping 2082 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3310 { | 3332 { |
3311 if (object1) { | 3333 if (object1) { |
3312 const blink::LayoutObject* root = object1; | 3334 const blink::LayoutObject* root = object1; |
3313 while (root->parent()) | 3335 while (root->parent()) |
3314 root = root->parent(); | 3336 root = root->parent(); |
3315 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); | 3337 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); |
3316 } | 3338 } |
3317 } | 3339 } |
3318 | 3340 |
3319 #endif | 3341 #endif |
OLD | NEW |