OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. |
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. | 3 * Copyright (C) 2013 Intel Corporation. All rights reserved. |
4 * | 4 * |
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
6 * | 6 * |
7 * Other contributors: | 7 * Other contributors: |
8 * Robert O'Callahan <roc+@cs.cmu.edu> | 8 * Robert O'Callahan <roc+@cs.cmu.edu> |
9 * David Baron <dbaron@fas.harvard.edu> | 9 * David Baron <dbaron@fas.harvard.edu> |
10 * Christian Biesinger <cbiesinger@web.de> | 10 * Christian Biesinger <cbiesinger@web.de> |
(...skipping 27 matching lines...) Expand all Loading... |
38 * version of this file under the LGPL, indicate your decision by | 38 * version of this file under the LGPL, indicate your decision by |
39 * deletingthe provisions above and replace them with the notice and | 39 * deletingthe provisions above and replace them with the notice and |
40 * other provisions required by the MPL or the GPL, as the case may be. | 40 * other provisions required by the MPL or the GPL, as the case may be. |
41 * If you do not delete the provisions above, a recipient may use your | 41 * If you do not delete the provisions above, a recipient may use your |
42 * version of this file under any of the LGPL, the MPL or the GPL. | 42 * version of this file under any of the LGPL, the MPL or the GPL. |
43 */ | 43 */ |
44 | 44 |
45 #ifndef LayerStackingNode_h | 45 #ifndef LayerStackingNode_h |
46 #define LayerStackingNode_h | 46 #define LayerStackingNode_h |
47 | 47 |
48 #include "core/layout/LayoutLayerModelObject.h" | 48 #include "core/layout/LayoutBoxModelObject.h" |
49 #include "wtf/Noncopyable.h" | 49 #include "wtf/Noncopyable.h" |
50 #include "wtf/OwnPtr.h" | 50 #include "wtf/OwnPtr.h" |
51 #include "wtf/Vector.h" | 51 #include "wtf/Vector.h" |
52 | 52 |
53 namespace blink { | 53 namespace blink { |
54 | 54 |
55 class Layer; | 55 class Layer; |
56 class LayerCompositor; | 56 class LayerCompositor; |
57 class LayoutStyle; | 57 class LayoutStyle; |
| 58 class LayoutBoxModelObject; |
58 | 59 |
59 class LayerStackingNode { | 60 class LayerStackingNode { |
60 WTF_MAKE_NONCOPYABLE(LayerStackingNode); | 61 WTF_MAKE_NONCOPYABLE(LayerStackingNode); |
61 public: | 62 public: |
62 explicit LayerStackingNode(Layer*); | 63 explicit LayerStackingNode(Layer*); |
63 ~LayerStackingNode(); | 64 ~LayerStackingNode(); |
64 | 65 |
65 int zIndex() const { return renderer()->style()->zIndex(); } | 66 int zIndex() const { return renderer()->style()->zIndex(); } |
66 | 67 |
67 // A stacking context is a layer that has a non-auto z-index. | 68 // A stacking context is a layer that has a non-auto z-index. |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 void setStackingParent(LayerStackingNode* stackingParent) { m_stackingParent
= stackingParent; } | 133 void setStackingParent(LayerStackingNode* stackingParent) { m_stackingParent
= stackingParent; } |
133 #endif | 134 #endif |
134 | 135 |
135 bool shouldBeNormalFlowOnly() const; | 136 bool shouldBeNormalFlowOnly() const; |
136 | 137 |
137 void updateNormalFlowList(); | 138 void updateNormalFlowList(); |
138 | 139 |
139 bool isDirtyStackingContext() const { return m_zOrderListsDirty && isStackin
gContext(); } | 140 bool isDirtyStackingContext() const { return m_zOrderListsDirty && isStackin
gContext(); } |
140 | 141 |
141 LayerCompositor* compositor() const; | 142 LayerCompositor* compositor() const; |
142 // FIXME: Investigate changing this to Renderbox. | 143 // We can't return a RenderBox as RenderInline can be a stacking context. |
143 LayoutLayerModelObject* renderer() const; | 144 LayoutBoxModelObject* renderer() const; |
144 | 145 |
145 Layer* m_layer; | 146 Layer* m_layer; |
146 | 147 |
147 // m_posZOrderList holds a sorted list of all the descendant nodes within | 148 // m_posZOrderList holds a sorted list of all the descendant nodes within |
148 // that have z-indices of 0 or greater (auto will count as 0). | 149 // that have z-indices of 0 or greater (auto will count as 0). |
149 // m_negZOrderList holds descendants within our stacking context with | 150 // m_negZOrderList holds descendants within our stacking context with |
150 // negative z-indices. | 151 // negative z-indices. |
151 OwnPtr<Vector<LayerStackingNode*>> m_posZOrderList; | 152 OwnPtr<Vector<LayerStackingNode*>> m_posZOrderList; |
152 OwnPtr<Vector<LayerStackingNode*>> m_negZOrderList; | 153 OwnPtr<Vector<LayerStackingNode*>> m_negZOrderList; |
153 | 154 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 | 208 |
208 private: | 209 private: |
209 LayerStackingNode* m_stackingNode; | 210 LayerStackingNode* m_stackingNode; |
210 bool m_previousMutationAllowedState; | 211 bool m_previousMutationAllowedState; |
211 }; | 212 }; |
212 #endif | 213 #endif |
213 | 214 |
214 } // namespace blink | 215 } // namespace blink |
215 | 216 |
216 #endif // LayerStackingNode_h | 217 #endif // LayerStackingNode_h |
OLD | NEW |