| 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 |