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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 #include "core/rendering/compositing/RenderLayerCompositor.h" | 49 #include "core/rendering/compositing/RenderLayerCompositor.h" |
50 #include "public/platform/Platform.h" | 50 #include "public/platform/Platform.h" |
51 | 51 |
52 namespace WebCore { | 52 namespace WebCore { |
53 | 53 |
54 // FIXME: This should not require RenderLayer. There is currently a cycle where | 54 // FIXME: This should not require RenderLayer. There is currently a cycle where |
55 // in order to determine if we shoulBeNormalFlowOnly() we have to ask the render | 55 // in order to determine if we shoulBeNormalFlowOnly() we have to ask the render |
56 // layer about some of its state. | 56 // layer about some of its state. |
57 RenderLayerStackingNode::RenderLayerStackingNode(RenderLayer* layer) | 57 RenderLayerStackingNode::RenderLayerStackingNode(RenderLayer* layer) |
58 : m_layer(layer) | 58 : m_layer(layer) |
59 , m_descendantsAreContiguousInStackingOrder(false) | |
60 , m_descendantsAreContiguousInStackingOrderDirty(true) | |
61 , m_normalFlowListDirty(true) | 59 , m_normalFlowListDirty(true) |
62 #if !ASSERT_DISABLED | 60 #if !ASSERT_DISABLED |
63 , m_layerListMutationAllowed(true) | 61 , m_layerListMutationAllowed(true) |
64 , m_stackingParent(0) | 62 , m_stackingParent(0) |
65 #endif | 63 #endif |
66 { | 64 { |
67 m_isNormalFlowOnly = shouldBeNormalFlowOnly(); | 65 m_isNormalFlowOnly = shouldBeNormalFlowOnly(); |
68 | 66 |
69 // Non-stacking contexts should have empty z-order lists. As this is already
the case, | 67 // Non-stacking contexts should have empty z-order lists. As this is already
the case, |
70 // there is no need to dirty / recompute these lists. | 68 // there is no need to dirty / recompute these lists. |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 #if !ASSERT_DISABLED | 103 #if !ASSERT_DISABLED |
106 updateStackingParentForZOrderLists(0); | 104 updateStackingParentForZOrderLists(0); |
107 #endif | 105 #endif |
108 | 106 |
109 if (m_posZOrderList) | 107 if (m_posZOrderList) |
110 m_posZOrderList->clear(); | 108 m_posZOrderList->clear(); |
111 if (m_negZOrderList) | 109 if (m_negZOrderList) |
112 m_negZOrderList->clear(); | 110 m_negZOrderList->clear(); |
113 m_zOrderListsDirty = true; | 111 m_zOrderListsDirty = true; |
114 | 112 |
115 m_descendantsAreContiguousInStackingOrderDirty = true; | |
116 | |
117 if (!renderer()->documentBeingDestroyed()) | 113 if (!renderer()->documentBeingDestroyed()) |
118 compositor()->setCompositingLayersNeedRebuild(); | 114 compositor()->setCompositingLayersNeedRebuild(); |
119 } | 115 } |
120 | 116 |
121 void RenderLayerStackingNode::dirtyStackingContextZOrderLists() | 117 void RenderLayerStackingNode::dirtyStackingContextZOrderLists() |
122 { | 118 { |
123 RenderLayerStackingNode* stackingContextNode = ancestorStackingContextNode()
; | 119 RenderLayerStackingNode* stackingContextNode = ancestorStackingContextNode()
; |
124 if (stackingContextNode) | 120 if (stackingContextNode) |
125 stackingContextNode->dirtyZOrderLists(); | 121 stackingContextNode->dirtyZOrderLists(); |
126 | 122 |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 return ancestor->stackingNode(); | 364 return ancestor->stackingNode(); |
369 return 0; | 365 return 0; |
370 } | 366 } |
371 | 367 |
372 RenderLayerModelObject* RenderLayerStackingNode::renderer() const | 368 RenderLayerModelObject* RenderLayerStackingNode::renderer() const |
373 { | 369 { |
374 return m_layer->renderer(); | 370 return m_layer->renderer(); |
375 } | 371 } |
376 | 372 |
377 } // namespace WebCore | 373 } // namespace WebCore |
OLD | NEW |