OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CompositingReasons_h | 5 #ifndef CompositingReasons_h |
6 #define CompositingReasons_h | 6 #define CompositingReasons_h |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include "platform/PlatformExport.h" | 9 #include "platform/PlatformExport.h" |
10 #include "platform/wtf/Allocator.h" | 10 #include "platform/wtf/Allocator.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 const uint64_t kCompositingReasonClipsCompositingDescendants = UINT64_C(1) | 56 const uint64_t kCompositingReasonClipsCompositingDescendants = UINT64_C(1) |
57 << 25; | 57 << 25; |
58 const uint64_t kCompositingReasonPerspectiveWith3DDescendants = UINT64_C(1) | 58 const uint64_t kCompositingReasonPerspectiveWith3DDescendants = UINT64_C(1) |
59 << 26; | 59 << 26; |
60 const uint64_t kCompositingReasonPreserve3DWith3DDescendants = UINT64_C(1) | 60 const uint64_t kCompositingReasonPreserve3DWith3DDescendants = UINT64_C(1) |
61 << 27; | 61 << 27; |
62 const uint64_t kCompositingReasonReflectionOfCompositedParent = UINT64_C(1) | 62 const uint64_t kCompositingReasonReflectionOfCompositedParent = UINT64_C(1) |
63 << 28; | 63 << 28; |
64 const uint64_t kCompositingReasonIsolateCompositedDescendants = UINT64_C(1) | 64 const uint64_t kCompositingReasonIsolateCompositedDescendants = UINT64_C(1) |
65 << 29; | 65 << 29; |
66 const uint64_t kCompositingReasonPositionFixedWithCompositedDescendants = | 66 const uint64_t |
67 UINT64_C(1) << 30; | 67 kCompositingReasonPositionFixedOrStickyWithCompositedDescendants = |
| 68 UINT64_C(1) << 30; |
68 | 69 |
69 // The root layer is a special case. It may be forced to be a layer, but it also | 70 // The root layer is a special case. It may be forced to be a layer, but it also |
70 // needs to be a layer if anything else in the subtree is composited. | 71 // needs to be a layer if anything else in the subtree is composited. |
71 const uint64_t kCompositingReasonRoot = UINT64_C(1) << 31; | 72 const uint64_t kCompositingReasonRoot = UINT64_C(1) << 31; |
72 | 73 |
73 // CompositedLayerMapping internal hierarchy reasons | 74 // CompositedLayerMapping internal hierarchy reasons |
74 const uint64_t kCompositingReasonLayerForAncestorClip = UINT64_C(1) << 32; | 75 const uint64_t kCompositingReasonLayerForAncestorClip = UINT64_C(1) << 32; |
75 const uint64_t kCompositingReasonLayerForDescendantClip = UINT64_C(1) << 33; | 76 const uint64_t kCompositingReasonLayerForDescendantClip = UINT64_C(1) << 33; |
76 const uint64_t kCompositingReasonLayerForPerspective = UINT64_C(1) << 34; | 77 const uint64_t kCompositingReasonLayerForPerspective = UINT64_C(1) << 34; |
77 const uint64_t kCompositingReasonLayerForHorizontalScrollbar = UINT64_C(1) | 78 const uint64_t kCompositingReasonLayerForHorizontalScrollbar = UINT64_C(1) |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 | 124 |
124 const uint64_t kCompositingReasonComboCompositedDescendants = | 125 const uint64_t kCompositingReasonComboCompositedDescendants = |
125 kCompositingReasonTransformWithCompositedDescendants | | 126 kCompositingReasonTransformWithCompositedDescendants | |
126 kCompositingReasonIsolateCompositedDescendants | | 127 kCompositingReasonIsolateCompositedDescendants | |
127 kCompositingReasonOpacityWithCompositedDescendants | | 128 kCompositingReasonOpacityWithCompositedDescendants | |
128 kCompositingReasonMaskWithCompositedDescendants | | 129 kCompositingReasonMaskWithCompositedDescendants | |
129 kCompositingReasonFilterWithCompositedDescendants | | 130 kCompositingReasonFilterWithCompositedDescendants | |
130 kCompositingReasonBlendingWithCompositedDescendants | | 131 kCompositingReasonBlendingWithCompositedDescendants | |
131 kCompositingReasonReflectionWithCompositedDescendants | | 132 kCompositingReasonReflectionWithCompositedDescendants | |
132 kCompositingReasonClipsCompositingDescendants | | 133 kCompositingReasonClipsCompositingDescendants | |
133 kCompositingReasonPositionFixedWithCompositedDescendants; | 134 kCompositingReasonPositionFixedOrStickyWithCompositedDescendants; |
134 | 135 |
135 const uint64_t kCompositingReasonCombo3DDescendants = | 136 const uint64_t kCompositingReasonCombo3DDescendants = |
136 kCompositingReasonPreserve3DWith3DDescendants | | 137 kCompositingReasonPreserve3DWith3DDescendants | |
137 kCompositingReasonPerspectiveWith3DDescendants; | 138 kCompositingReasonPerspectiveWith3DDescendants; |
138 | 139 |
139 const uint64_t kCompositingReasonComboAllStyleDeterminedReasons = | 140 const uint64_t kCompositingReasonComboAllStyleDeterminedReasons = |
140 kCompositingReasonComboAllDirectStyleDeterminedReasons | | 141 kCompositingReasonComboAllDirectStyleDeterminedReasons | |
141 kCompositingReasonComboCompositedDescendants | | 142 kCompositingReasonComboCompositedDescendants | |
142 kCompositingReasonCombo3DDescendants | kCompositingReasonInlineTransform; | 143 kCompositingReasonCombo3DDescendants | kCompositingReasonInlineTransform; |
143 | 144 |
144 const uint64_t kCompositingReasonComboReasonsThatRequireOwnBacking = | 145 const uint64_t kCompositingReasonComboReasonsThatRequireOwnBacking = |
145 kCompositingReasonComboAllDirectReasons | kCompositingReasonOverlap | | 146 kCompositingReasonComboAllDirectReasons | kCompositingReasonOverlap | |
146 kCompositingReasonAssumedOverlap | | 147 kCompositingReasonAssumedOverlap | |
147 kCompositingReasonNegativeZIndexChildren | | 148 kCompositingReasonNegativeZIndexChildren | |
148 kCompositingReasonSquashingDisallowed | | 149 kCompositingReasonSquashingDisallowed | |
149 kCompositingReasonTransformWithCompositedDescendants | | 150 kCompositingReasonTransformWithCompositedDescendants | |
150 kCompositingReasonOpacityWithCompositedDescendants | | 151 kCompositingReasonOpacityWithCompositedDescendants | |
151 kCompositingReasonMaskWithCompositedDescendants | | 152 kCompositingReasonMaskWithCompositedDescendants | |
152 kCompositingReasonFilterWithCompositedDescendants | | 153 kCompositingReasonFilterWithCompositedDescendants | |
153 kCompositingReasonBlendingWithCompositedDescendants | | 154 kCompositingReasonBlendingWithCompositedDescendants | |
154 kCompositingReasonIsolateCompositedDescendants | | 155 kCompositingReasonIsolateCompositedDescendants | |
155 kCompositingReasonPreserve3DWith3DDescendants | // preserve-3d has to | 156 kCompositingReasonPreserve3DWith3DDescendants | // preserve-3d has to |
156 // create a backing store | 157 // create a backing store |
157 // to ensure that | 158 // to ensure that |
158 // 3d-transformed elements | 159 // 3d-transformed elements |
159 // intersect. | 160 // intersect. |
160 kCompositingReasonBackdropFilter | | 161 kCompositingReasonBackdropFilter | |
161 kCompositingReasonPositionFixedWithCompositedDescendants; | 162 kCompositingReasonPositionFixedOrStickyWithCompositedDescendants; |
162 | 163 |
163 const uint64_t kCompositingReasonComboSquashableReasons = | 164 const uint64_t kCompositingReasonComboSquashableReasons = |
164 kCompositingReasonOverlap | kCompositingReasonAssumedOverlap | | 165 kCompositingReasonOverlap | kCompositingReasonAssumedOverlap | |
165 kCompositingReasonOverflowScrollingParent; | 166 kCompositingReasonOverflowScrollingParent; |
166 | 167 |
167 typedef uint64_t CompositingReasons; | 168 typedef uint64_t CompositingReasons; |
168 | 169 |
169 // Any reasons other than overlap or assumed overlap will require the layer to | 170 // Any reasons other than overlap or assumed overlap will require the layer to |
170 // be separately compositing. | 171 // be separately compositing. |
171 inline bool RequiresCompositing(CompositingReasons reasons) { | 172 inline bool RequiresCompositing(CompositingReasons reasons) { |
(...skipping 15 matching lines...) Expand all Loading... |
187 }; | 188 }; |
188 | 189 |
189 PLATFORM_EXPORT extern const CompositingReasonStringMap | 190 PLATFORM_EXPORT extern const CompositingReasonStringMap |
190 kCompositingReasonStringMap[]; | 191 kCompositingReasonStringMap[]; |
191 PLATFORM_EXPORT extern const size_t kNumberOfCompositingReasons; | 192 PLATFORM_EXPORT extern const size_t kNumberOfCompositingReasons; |
192 PLATFORM_EXPORT String CompositingReasonsAsString(CompositingReasons); | 193 PLATFORM_EXPORT String CompositingReasonsAsString(CompositingReasons); |
193 | 194 |
194 } // namespace blink | 195 } // namespace blink |
195 | 196 |
196 #endif // CompositingReasons_h | 197 #endif // CompositingReasons_h |
OLD | NEW |