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 "platform/PlatformExport.h" | 8 #include "platform/PlatformExport.h" |
9 #include "wtf/MathExtras.h" | 9 #include "wtf/MathExtras.h" |
10 #include <stdint.h> | 10 #include <stdint.h> |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT6
4_C(1) << 33; | 55 const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT6
4_C(1) << 33; |
56 const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT6
4_C(1) << 34; | 56 const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT6
4_C(1) << 34; |
57 const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT6
4_C(1) << 35; | 57 const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT6
4_C(1) << 35; |
58 const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT6
4_C(1) << 36; | 58 const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT6
4_C(1) << 36; |
59 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT6
4_C(1) << 37; | 59 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT6
4_C(1) << 37; |
60 const uint64_t CompositingReasonClipsCompositingDescendants = UINT6
4_C(1) << 38; | 60 const uint64_t CompositingReasonClipsCompositingDescendants = UINT6
4_C(1) << 38; |
61 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT6
4_C(1) << 39; | 61 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT6
4_C(1) << 39; |
62 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT6
4_C(1) << 40; | 62 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT6
4_C(1) << 40; |
63 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT6
4_C(1) << 41; | 63 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT6
4_C(1) << 41; |
64 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT6
4_C(1) << 42; | 64 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT6
4_C(1) << 42; |
| 65 const uint64_t CompositingReasonPositionFixedWithCompositedDescendants = UINT6
4_C(1) << 43; |
65 | 66 |
66 // The root layer is a special case that may be forced to be a layer, but also i
t needs to be | 67 // The root layer is a special case that may be forced to be a layer, but also i
t needs to be |
67 // a layer if anything else in the subtree is composited. | 68 // a layer if anything else in the subtree is composited. |
68 const uint64_t CompositingReasonRoot = UINT6
4_C(1) << 43; | 69 const uint64_t CompositingReasonRoot = UINT6
4_C(1) << 44; |
69 | 70 |
70 // CompositedLayerMapping internal hierarchy reasons | 71 // CompositedLayerMapping internal hierarchy reasons |
71 const uint64_t CompositingReasonLayerForAncestorClip = UINT6
4_C(1) << 44; | 72 const uint64_t CompositingReasonLayerForAncestorClip = UINT6
4_C(1) << 45; |
72 const uint64_t CompositingReasonLayerForDescendantClip = UINT6
4_C(1) << 45; | 73 const uint64_t CompositingReasonLayerForDescendantClip = UINT6
4_C(1) << 46; |
73 const uint64_t CompositingReasonLayerForPerspective = UINT6
4_C(1) << 46; | 74 const uint64_t CompositingReasonLayerForPerspective = UINT6
4_C(1) << 47; |
74 const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT6
4_C(1) << 47; | 75 const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT6
4_C(1) << 48; |
75 const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT6
4_C(1) << 48; | 76 const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT6
4_C(1) << 49; |
76 const uint64_t CompositingReasonLayerForOverflowControlsHost = UINT6
4_C(1) << 49; | 77 const uint64_t CompositingReasonLayerForOverflowControlsHost = UINT6
4_C(1) << 50; |
77 const uint64_t CompositingReasonLayerForScrollCorner = UINT6
4_C(1) << 50; | 78 const uint64_t CompositingReasonLayerForScrollCorner = UINT6
4_C(1) << 51; |
78 const uint64_t CompositingReasonLayerForScrollingContents = UINT6
4_C(1) << 51; | 79 const uint64_t CompositingReasonLayerForScrollingContents = UINT6
4_C(1) << 52; |
79 const uint64_t CompositingReasonLayerForScrollingContainer = UINT6
4_C(1) << 52; | 80 const uint64_t CompositingReasonLayerForScrollingContainer = UINT6
4_C(1) << 53; |
80 const uint64_t CompositingReasonLayerForSquashingContents = UINT6
4_C(1) << 53; | 81 const uint64_t CompositingReasonLayerForSquashingContents = UINT6
4_C(1) << 54; |
81 const uint64_t CompositingReasonLayerForSquashingContainer = UINT6
4_C(1) << 54; | 82 const uint64_t CompositingReasonLayerForSquashingContainer = UINT6
4_C(1) << 55; |
82 const uint64_t CompositingReasonLayerForForeground = UINT6
4_C(1) << 55; | 83 const uint64_t CompositingReasonLayerForForeground = UINT6
4_C(1) << 56; |
83 const uint64_t CompositingReasonLayerForBackground = UINT6
4_C(1) << 56; | 84 const uint64_t CompositingReasonLayerForBackground = UINT6
4_C(1) << 57; |
84 const uint64_t CompositingReasonLayerForMask = UINT6
4_C(1) << 57; | 85 const uint64_t CompositingReasonLayerForMask = UINT6
4_C(1) << 58; |
85 const uint64_t CompositingReasonLayerForClippingMask = UINT6
4_C(1) << 58; | 86 const uint64_t CompositingReasonLayerForClippingMask = UINT6
4_C(1) << 59; |
86 const uint64_t CompositingReasonLayerForScrollingBlockSelection = UINT6
4_C(1) << 59; | 87 const uint64_t CompositingReasonLayerForScrollingBlockSelection = UINT6
4_C(1) << 60; |
87 | 88 |
88 // Composited elements with inline transforms trigger assumed overlap so that | 89 // Composited elements with inline transforms trigger assumed overlap so that |
89 // we can update their transforms quickly. | 90 // we can update their transforms quickly. |
90 const uint64_t CompositingReasonInlineTransform = UINT6
4_C(1) << 60; | 91 const uint64_t CompositingReasonInlineTransform = UINT6
4_C(1) << 61; |
91 | 92 |
92 const uint64_t CompositingReasonCompositorProxy = UINT6
4_C(1) << 61; | 93 const uint64_t CompositingReasonCompositorProxy = UINT6
4_C(1) << 62; |
93 | 94 |
94 // Various combinations of compositing reasons are defined here also, for more i
ntutive and faster bitwise logic. | 95 // Various combinations of compositing reasons are defined here also, for more i
ntutive and faster bitwise logic. |
95 const uint64_t CompositingReasonComboAllDirectReasons = | 96 const uint64_t CompositingReasonComboAllDirectReasons = |
96 CompositingReason3DTransform | 97 CompositingReason3DTransform |
97 | CompositingReasonVideo | 98 | CompositingReasonVideo |
98 | CompositingReasonCanvas | 99 | CompositingReasonCanvas |
99 | CompositingReasonPlugin | 100 | CompositingReasonPlugin |
100 | CompositingReasonIFrame | 101 | CompositingReasonIFrame |
101 | CompositingReasonBackfaceVisibilityHidden | 102 | CompositingReasonBackfaceVisibilityHidden |
102 | CompositingReasonActiveAnimation | 103 | CompositingReasonActiveAnimation |
(...skipping 17 matching lines...) Expand all Loading... |
120 | CompositingReasonBackdropFilter; | 121 | CompositingReasonBackdropFilter; |
121 | 122 |
122 const uint64_t CompositingReasonComboCompositedDescendants = | 123 const uint64_t CompositingReasonComboCompositedDescendants = |
123 CompositingReasonTransformWithCompositedDescendants | 124 CompositingReasonTransformWithCompositedDescendants |
124 | CompositingReasonIsolateCompositedDescendants | 125 | CompositingReasonIsolateCompositedDescendants |
125 | CompositingReasonOpacityWithCompositedDescendants | 126 | CompositingReasonOpacityWithCompositedDescendants |
126 | CompositingReasonMaskWithCompositedDescendants | 127 | CompositingReasonMaskWithCompositedDescendants |
127 | CompositingReasonFilterWithCompositedDescendants | 128 | CompositingReasonFilterWithCompositedDescendants |
128 | CompositingReasonBlendingWithCompositedDescendants | 129 | CompositingReasonBlendingWithCompositedDescendants |
129 | CompositingReasonReflectionWithCompositedDescendants | 130 | CompositingReasonReflectionWithCompositedDescendants |
130 | CompositingReasonClipsCompositingDescendants; | 131 | CompositingReasonClipsCompositingDescendants |
| 132 | CompositingReasonPositionFixedWithCompositedDescendants; |
131 | 133 |
132 const uint64_t CompositingReasonCombo3DDescendants = | 134 const uint64_t CompositingReasonCombo3DDescendants = |
133 CompositingReasonPreserve3DWith3DDescendants | 135 CompositingReasonPreserve3DWith3DDescendants |
134 | CompositingReasonPerspectiveWith3DDescendants; | 136 | CompositingReasonPerspectiveWith3DDescendants; |
135 | 137 |
136 const uint64_t CompositingReasonComboAllStyleDeterminedReasons = | 138 const uint64_t CompositingReasonComboAllStyleDeterminedReasons = |
137 CompositingReasonComboAllDirectStyleDeterminedReasons | 139 CompositingReasonComboAllDirectStyleDeterminedReasons |
138 | CompositingReasonComboCompositedDescendants | 140 | CompositingReasonComboCompositedDescendants |
139 | CompositingReasonCombo3DDescendants | 141 | CompositingReasonCombo3DDescendants |
140 | CompositingReasonInlineTransform; | 142 | CompositingReasonInlineTransform; |
(...skipping 17 matching lines...) Expand all Loading... |
158 | CompositingReasonSquashingBlendingIsDisallowed | 160 | CompositingReasonSquashingBlendingIsDisallowed |
159 | CompositingReasonTransformWithCompositedDescendants | 161 | CompositingReasonTransformWithCompositedDescendants |
160 | CompositingReasonOpacityWithCompositedDescendants | 162 | CompositingReasonOpacityWithCompositedDescendants |
161 | CompositingReasonMaskWithCompositedDescendants | 163 | CompositingReasonMaskWithCompositedDescendants |
162 | CompositingReasonFilterWithCompositedDescendants | 164 | CompositingReasonFilterWithCompositedDescendants |
163 | CompositingReasonBlendingWithCompositedDescendants | 165 | CompositingReasonBlendingWithCompositedDescendants |
164 | CompositingReasonIsolateCompositedDescendants | 166 | CompositingReasonIsolateCompositedDescendants |
165 | CompositingReasonPreserve3DWith3DDescendants // preserve-3d has to create
backing store to ensure that 3d-transformed elements intersect. | 167 | CompositingReasonPreserve3DWith3DDescendants // preserve-3d has to create
backing store to ensure that 3d-transformed elements intersect. |
166 | CompositingReasonSquashingNearestFixedPositionMismatch | 168 | CompositingReasonSquashingNearestFixedPositionMismatch |
167 | CompositingReasonScrollChildWithCompositedDescendants | 169 | CompositingReasonScrollChildWithCompositedDescendants |
168 | CompositingReasonBackdropFilter; | 170 | CompositingReasonBackdropFilter |
| 171 | CompositingReasonPositionFixedWithCompositedDescendants; |
169 | 172 |
170 const uint64_t CompositingReasonComboSquashableReasons = | 173 const uint64_t CompositingReasonComboSquashableReasons = |
171 CompositingReasonOverlap | 174 CompositingReasonOverlap |
172 | CompositingReasonAssumedOverlap | 175 | CompositingReasonAssumedOverlap |
173 | CompositingReasonOverflowScrollingParent; | 176 | CompositingReasonOverflowScrollingParent; |
174 | 177 |
175 typedef uint64_t CompositingReasons; | 178 typedef uint64_t CompositingReasons; |
176 | 179 |
177 // Any reasons other than overlap or assumed overlap will require the layer to b
e separately compositing. | 180 // Any reasons other than overlap or assumed overlap will require the layer to b
e separately compositing. |
178 inline bool requiresCompositing(CompositingReasons reasons) | 181 inline bool requiresCompositing(CompositingReasons reasons) |
(...skipping 12 matching lines...) Expand all Loading... |
191 const char* shortName; | 194 const char* shortName; |
192 const char* description; | 195 const char* description; |
193 }; | 196 }; |
194 | 197 |
195 PLATFORM_EXPORT extern const CompositingReasonStringMap kCompositingReasonString
Map[]; | 198 PLATFORM_EXPORT extern const CompositingReasonStringMap kCompositingReasonString
Map[]; |
196 PLATFORM_EXPORT extern size_t kNumberOfCompositingReasons; | 199 PLATFORM_EXPORT extern size_t kNumberOfCompositingReasons; |
197 | 200 |
198 } // namespace blink | 201 } // namespace blink |
199 | 202 |
200 #endif // CompositingReasons_h | 203 #endif // CompositingReasons_h |
OLD | NEW |