Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 5 * | 5 * |
| 6 * Other contributors: | 6 * Other contributors: |
| 7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
| 9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
| 10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 250 void RenderLayer::updateLayerPositionsAfterLayout(const RenderLayer* rootLayer, UpdateLayerPositionsFlags flags) | 250 void RenderLayer::updateLayerPositionsAfterLayout(const RenderLayer* rootLayer, UpdateLayerPositionsFlags flags) |
| 251 { | 251 { |
| 252 TRACE_EVENT0("blink_rendering", "RenderLayer::updateLayerPositionsAfterLayou t"); | 252 TRACE_EVENT0("blink_rendering", "RenderLayer::updateLayerPositionsAfterLayou t"); |
| 253 | 253 |
| 254 // FIXME: Remove incremental compositing updates after fixing the chicken/eg g issues | 254 // FIXME: Remove incremental compositing updates after fixing the chicken/eg g issues |
| 255 // https://code.google.com/p/chromium/issues/detail?id=343756 | 255 // https://code.google.com/p/chromium/issues/detail?id=343756 |
| 256 DisableCompositingQueryAsserts disabler; | 256 DisableCompositingQueryAsserts disabler; |
| 257 updateLayerPositionRecursive(flags); | 257 updateLayerPositionRecursive(flags); |
| 258 } | 258 } |
| 259 | 259 |
| 260 void RenderLayer::markDescendantLayersMayNeedPaintInvalidation() | |
| 261 { | |
| 262 for (RenderLayer* childLayer = firstChild(); childLayer; childLayer = childL ayer->nextSibling()) { | |
|
esprehn
2014/06/24 20:37:07
We should take a different approach than this and
| |
| 263 childLayer->renderer()->setMayNeedPaintInvalidation(true); | |
| 264 childLayer->markDescendantLayersMayNeedPaintInvalidation(); | |
| 265 } | |
| 266 } | |
| 267 | |
| 260 void RenderLayer::updateLayerPositionRecursive(UpdateLayerPositionsFlags flags) | 268 void RenderLayer::updateLayerPositionRecursive(UpdateLayerPositionsFlags flags) |
| 261 { | 269 { |
| 262 updateLayerPosition(); | 270 if (updateLayerPosition()) |
| 271 markDescendantLayersMayNeedPaintInvalidation(); | |
|
esprehn
2014/06/24 20:37:07
Doesn't this make us traverse down the same subtre
| |
| 263 | 272 |
| 264 // Clear our cached clip rect information. | 273 // Clear our cached clip rect information. |
| 265 m_clipper.clearClipRects(); | 274 m_clipper.clearClipRects(); |
| 266 | 275 |
| 267 if (hasOverflowControls()) { | 276 if (hasOverflowControls()) { |
| 268 // FIXME: We should figure out the right time to position the overflow c ontrols. | 277 // FIXME: We should figure out the right time to position the overflow c ontrols. |
| 269 // This call appears to be necessary to pass some layout test that use E ventSender, | 278 // This call appears to be necessary to pass some layout test that use E ventSender, |
| 270 // presumably because the normal time to position the controls is during paint. We | 279 // presumably because the normal time to position the controls is during paint. We |
| 271 // probably shouldn't position the overflow controls during paint either ... | 280 // probably shouldn't position the overflow controls during paint either ... |
| 272 scrollableArea()->positionOverflowControls(IntSize()); | 281 scrollableArea()->positionOverflowControls(IntSize()); |
| (...skipping 3508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3781 } | 3790 } |
| 3782 } | 3791 } |
| 3783 | 3792 |
| 3784 void showLayerTree(const WebCore::RenderObject* renderer) | 3793 void showLayerTree(const WebCore::RenderObject* renderer) |
| 3785 { | 3794 { |
| 3786 if (!renderer) | 3795 if (!renderer) |
| 3787 return; | 3796 return; |
| 3788 showLayerTree(renderer->enclosingLayer()); | 3797 showLayerTree(renderer->enclosingLayer()); |
| 3789 } | 3798 } |
| 3790 #endif | 3799 #endif |
| OLD | NEW |