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 1357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1368 if (beforeChild) { | 1368 if (beforeChild) { |
1369 beforeChild->setPreviousSibling(child); | 1369 beforeChild->setPreviousSibling(child); |
1370 child->setNextSibling(beforeChild); | 1370 child->setNextSibling(beforeChild); |
1371 ASSERT(beforeChild != child); | 1371 ASSERT(beforeChild != child); |
1372 } else | 1372 } else |
1373 setLastChild(child); | 1373 setLastChild(child); |
1374 | 1374 |
1375 child->m_parent = this; | 1375 child->m_parent = this; |
1376 | 1376 |
1377 setNeedsCompositingInputsUpdate(); | 1377 setNeedsCompositingInputsUpdate(); |
| 1378 compositor()->setNeedsCompositingUpdate(CompositingUpdateRebuildTree); |
1378 | 1379 |
1379 if (child->stackingNode()->isNormalFlowOnly()) | 1380 if (child->stackingNode()->isNormalFlowOnly()) |
1380 m_stackingNode->dirtyNormalFlowList(); | 1381 m_stackingNode->dirtyNormalFlowList(); |
1381 | 1382 |
1382 if (!child->stackingNode()->isNormalFlowOnly() || child->firstChild()) { | 1383 if (!child->stackingNode()->isNormalFlowOnly() || child->firstChild()) { |
1383 // Dirty the z-order list in which we are contained. The ancestorStackin
gContextNode() can be null in the | 1384 // Dirty the z-order list in which we are contained. The ancestorStackin
gContextNode() can be null in the |
1384 // case where we're building up generated content layers. This is ok, si
nce the lists will start | 1385 // case where we're building up generated content layers. This is ok, si
nce the lists will start |
1385 // off dirty in that case anyway. | 1386 // off dirty in that case anyway. |
1386 child->stackingNode()->dirtyStackingContextZOrderLists(); | 1387 child->stackingNode()->dirtyStackingContextZOrderLists(); |
1387 } | 1388 } |
1388 | 1389 |
1389 child->updateDescendantDependentFlags(); | 1390 child->updateDescendantDependentFlags(); |
1390 if (child->m_hasVisibleContent || child->m_hasVisibleDescendant) | 1391 if (child->m_hasVisibleContent || child->m_hasVisibleDescendant) |
1391 setAncestorChainHasVisibleDescendant(); | 1392 setAncestorChainHasVisibleDescendant(); |
1392 | 1393 |
1393 if (child->isSelfPaintingLayer() || child->hasSelfPaintingLayerDescendant()) | 1394 if (child->isSelfPaintingLayer() || child->hasSelfPaintingLayerDescendant()) |
1394 setAncestorChainHasSelfPaintingLayerDescendant(); | 1395 setAncestorChainHasSelfPaintingLayerDescendant(); |
1395 | 1396 |
1396 if (child->blendInfo().hasBlendMode() || child->blendInfo().childLayerHasBle
ndMode()) | 1397 if (child->blendInfo().hasBlendMode() || child->blendInfo().childLayerHasBle
ndMode()) |
1397 m_blendInfo.setAncestorChainBlendedDescendant(); | 1398 m_blendInfo.setAncestorChainBlendedDescendant(); |
1398 | |
1399 compositor()->layerWasAdded(this, child); | |
1400 } | 1399 } |
1401 | 1400 |
1402 RenderLayer* RenderLayer::removeChild(RenderLayer* oldChild) | 1401 RenderLayer* RenderLayer::removeChild(RenderLayer* oldChild) |
1403 { | 1402 { |
1404 if (!renderer()->documentBeingDestroyed()) | 1403 if (!renderer()->documentBeingDestroyed()) |
1405 compositor()->layerWillBeRemoved(this, oldChild); | 1404 compositor()->layerWillBeRemoved(this, oldChild); |
1406 | 1405 |
1407 // remove the child | 1406 // remove the child |
1408 if (oldChild->previousSibling()) | 1407 if (oldChild->previousSibling()) |
1409 oldChild->previousSibling()->setNextSibling(oldChild->nextSibling()); | 1408 oldChild->previousSibling()->setNextSibling(oldChild->nextSibling()); |
(...skipping 2465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3875 } | 3874 } |
3876 } | 3875 } |
3877 | 3876 |
3878 void showLayerTree(const WebCore::RenderObject* renderer) | 3877 void showLayerTree(const WebCore::RenderObject* renderer) |
3879 { | 3878 { |
3880 if (!renderer) | 3879 if (!renderer) |
3881 return; | 3880 return; |
3882 showLayerTree(renderer->enclosingLayer()); | 3881 showLayerTree(renderer->enclosingLayer()); |
3883 } | 3882 } |
3884 #endif | 3883 #endif |
OLD | NEW |