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 "wtf/MathExtras.h" | 8 #include "wtf/MathExtras.h" |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 const uint64_t CompositingReasonBackfaceVisibilityHidden = UINT64_
C(1) << 5; | 21 const uint64_t CompositingReasonBackfaceVisibilityHidden = UINT64_
C(1) << 5; |
22 const uint64_t CompositingReasonActiveAnimation = UINT64_
C(1) << 6; | 22 const uint64_t CompositingReasonActiveAnimation = UINT64_
C(1) << 6; |
23 const uint64_t CompositingReasonTransitionProperty = UINT64_
C(1) << 7; | 23 const uint64_t CompositingReasonTransitionProperty = UINT64_
C(1) << 7; |
24 const uint64_t CompositingReasonFilters = UINT64_
C(1) << 8; | 24 const uint64_t CompositingReasonFilters = UINT64_
C(1) << 8; |
25 const uint64_t CompositingReasonPositionFixed = UINT64_
C(1) << 9; | 25 const uint64_t CompositingReasonPositionFixed = UINT64_
C(1) << 9; |
26 const uint64_t CompositingReasonPositionSticky = UINT64_
C(1) << 10; | 26 const uint64_t CompositingReasonPositionSticky = UINT64_
C(1) << 10; |
27 const uint64_t CompositingReasonOverflowScrollingTouch = UINT64_
C(1) << 11; | 27 const uint64_t CompositingReasonOverflowScrollingTouch = UINT64_
C(1) << 11; |
28 const uint64_t CompositingReasonOverflowScrollingParent = UINT64_
C(1) << 12; | 28 const uint64_t CompositingReasonOverflowScrollingParent = UINT64_
C(1) << 12; |
29 const uint64_t CompositingReasonOutOfFlowClipping = UINT64_
C(1) << 13; | 29 const uint64_t CompositingReasonOutOfFlowClipping = UINT64_
C(1) << 13; |
30 const uint64_t CompositingReasonVideoOverlay = UINT64_
C(1) << 14; | 30 const uint64_t CompositingReasonVideoOverlay = UINT64_
C(1) << 14; |
| 31 const uint64_t CompositingReasonWillChange = UINT64_
C(1) << 15; |
31 | 32 |
32 // Overlap reasons that require knowing what's behind you in paint-order before
knowing the answer | 33 // Overlap reasons that require knowing what's behind you in paint-order before
knowing the answer |
33 const uint64_t CompositingReasonAssumedOverlap = UINT64_
C(1) << 15; | 34 const uint64_t CompositingReasonAssumedOverlap = UINT64_
C(1) << 16; |
34 const uint64_t CompositingReasonOverlap = UINT64_
C(1) << 16; | 35 const uint64_t CompositingReasonOverlap = UINT64_
C(1) << 17; |
35 const uint64_t CompositingReasonNegativeZIndexChildren = UINT64_
C(1) << 17; | 36 const uint64_t CompositingReasonNegativeZIndexChildren = UINT64_
C(1) << 18; |
36 const uint64_t CompositingReasonOverlapsWithoutSquashingTarget = UINT64_
C(1) << 18; | 37 const uint64_t CompositingReasonOverlapsWithoutSquashingTarget = UINT64_
C(1) << 19; |
37 | 38 |
38 // Subtree reasons that require knowing what the status of your subtree is befor
e knowing the answer | 39 // Subtree reasons that require knowing what the status of your subtree is befor
e knowing the answer |
39 const uint64_t CompositingReasonTransformWithCompositedDescendants = UINT64_
C(1) << 19; | 40 const uint64_t CompositingReasonTransformWithCompositedDescendants = UINT64_
C(1) << 20; |
40 const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT64_
C(1) << 20; | 41 const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT64_
C(1) << 21; |
41 const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT64_
C(1) << 21; | 42 const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT64_
C(1) << 22; |
42 const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT64_
C(1) << 22; | 43 const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT64_
C(1) << 23; |
43 const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT64_
C(1) << 23; | 44 const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT64_
C(1) << 24; |
44 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT64_
C(1) << 24; | 45 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT64_
C(1) << 25; |
45 const uint64_t CompositingReasonClipsCompositingDescendants = UINT64_
C(1) << 25; | 46 const uint64_t CompositingReasonClipsCompositingDescendants = UINT64_
C(1) << 26; |
46 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT64_
C(1) << 26; | 47 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT64_
C(1) << 27; |
47 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT64_
C(1) << 27; | 48 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT64_
C(1) << 28; |
48 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT64_
C(1) << 28; | 49 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT64_
C(1) << 29; |
49 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT64_
C(1) << 29; | 50 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT64_
C(1) << 30; |
50 | 51 |
51 // The root layer is a special case that may be forced to be a layer, but also i
t needs to be | 52 // The root layer is a special case that may be forced to be a layer, but also i
t needs to be |
52 // a layer if anything else in the subtree is composited. | 53 // a layer if anything else in the subtree is composited. |
53 const uint64_t CompositingReasonRoot = UINT64_
C(1) << 30; | 54 const uint64_t CompositingReasonRoot = UINT64_
C(1) << 31; |
54 | 55 |
55 // CompositedLayerMapping internal hierarchy reasons | 56 // CompositedLayerMapping internal hierarchy reasons |
56 const uint64_t CompositingReasonLayerForAncestorClip = UINT64_
C(1) << 31; | 57 const uint64_t CompositingReasonLayerForAncestorClip = UINT64_
C(1) << 32; |
57 const uint64_t CompositingReasonLayerForDescendantClip = UINT64_
C(1) << 32; | 58 const uint64_t CompositingReasonLayerForDescendantClip = UINT64_
C(1) << 33; |
58 const uint64_t CompositingReasonLayerForPerspective = UINT64_
C(1) << 33; | 59 const uint64_t CompositingReasonLayerForPerspective = UINT64_
C(1) << 34; |
59 const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT64_
C(1) << 34; | 60 const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT64_
C(1) << 35; |
60 const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT64_
C(1) << 35; | 61 const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT64_
C(1) << 36; |
61 const uint64_t CompositingReasonLayerForScrollCorner = UINT64_
C(1) << 36; | 62 const uint64_t CompositingReasonLayerForScrollCorner = UINT64_
C(1) << 37; |
62 const uint64_t CompositingReasonLayerForScrollingContents = UINT64_
C(1) << 37; | 63 const uint64_t CompositingReasonLayerForScrollingContents = UINT64_
C(1) << 38; |
63 const uint64_t CompositingReasonLayerForScrollingContainer = UINT64_
C(1) << 38; | 64 const uint64_t CompositingReasonLayerForScrollingContainer = UINT64_
C(1) << 39; |
64 const uint64_t CompositingReasonLayerForSquashingContents = UINT64_
C(1) << 39; | 65 const uint64_t CompositingReasonLayerForSquashingContents = UINT64_
C(1) << 40; |
65 const uint64_t CompositingReasonLayerForSquashingContainer = UINT64_
C(1) << 40; | 66 const uint64_t CompositingReasonLayerForSquashingContainer = UINT64_
C(1) << 41; |
66 const uint64_t CompositingReasonLayerForForeground = UINT64_
C(1) << 41; | 67 const uint64_t CompositingReasonLayerForForeground = UINT64_
C(1) << 42; |
67 const uint64_t CompositingReasonLayerForBackground = UINT64_
C(1) << 42; | 68 const uint64_t CompositingReasonLayerForBackground = UINT64_
C(1) << 43; |
68 const uint64_t CompositingReasonLayerForMask = UINT64_
C(1) << 43; | 69 const uint64_t CompositingReasonLayerForMask = UINT64_
C(1) << 44; |
69 const uint64_t CompositingReasonLayerForClippingMask = UINT64_
C(1) << 44; | 70 const uint64_t CompositingReasonLayerForClippingMask = UINT64_
C(1) << 45; |
70 | 71 |
71 // Various combinations of compositing reasons are defined here also, for more i
ntutive and faster bitwise logic. | 72 // Various combinations of compositing reasons are defined here also, for more i
ntutive and faster bitwise logic. |
72 const uint64_t CompositingReasonComboAllDirectReasons = | 73 const uint64_t CompositingReasonComboAllDirectReasons = |
73 CompositingReason3DTransform | 74 CompositingReason3DTransform |
74 | CompositingReasonVideo | 75 | CompositingReasonVideo |
75 | CompositingReasonCanvas | 76 | CompositingReasonCanvas |
76 | CompositingReasonPlugin | 77 | CompositingReasonPlugin |
77 | CompositingReasonIFrame | 78 | CompositingReasonIFrame |
78 | CompositingReasonBackfaceVisibilityHidden | 79 | CompositingReasonBackfaceVisibilityHidden |
79 | CompositingReasonActiveAnimation | 80 | CompositingReasonActiveAnimation |
80 | CompositingReasonTransitionProperty | 81 | CompositingReasonTransitionProperty |
81 | CompositingReasonFilters | 82 | CompositingReasonFilters |
82 | CompositingReasonPositionFixed | 83 | CompositingReasonPositionFixed |
83 | CompositingReasonPositionSticky | 84 | CompositingReasonPositionSticky |
84 | CompositingReasonOverflowScrollingTouch | 85 | CompositingReasonOverflowScrollingTouch |
85 | CompositingReasonOverflowScrollingParent | 86 | CompositingReasonOverflowScrollingParent |
86 | CompositingReasonOutOfFlowClipping | 87 | CompositingReasonOutOfFlowClipping |
87 | CompositingReasonVideoOverlay; | 88 | CompositingReasonVideoOverlay |
| 89 | CompositingReasonWillChange; |
88 | 90 |
89 const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking = | 91 const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking = |
90 CompositingReasonComboAllDirectReasons | 92 CompositingReasonComboAllDirectReasons |
91 | CompositingReasonOverlap | 93 | CompositingReasonOverlap |
92 | CompositingReasonAssumedOverlap | 94 | CompositingReasonAssumedOverlap |
93 | CompositingReasonNegativeZIndexChildren | 95 | CompositingReasonNegativeZIndexChildren |
94 | CompositingReasonOverlapsWithoutSquashingTarget | 96 | CompositingReasonOverlapsWithoutSquashingTarget |
95 | CompositingReasonTransformWithCompositedDescendants | 97 | CompositingReasonTransformWithCompositedDescendants |
96 | CompositingReasonOpacityWithCompositedDescendants | 98 | CompositingReasonOpacityWithCompositedDescendants |
97 | CompositingReasonMaskWithCompositedDescendants | 99 | CompositingReasonMaskWithCompositedDescendants |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 "Is a scrollable overflow element" }, | 156 "Is a scrollable overflow element" }, |
155 { CompositingReasonOverflowScrollingParent, | 157 { CompositingReasonOverflowScrollingParent, |
156 "overflowScrollingParent", | 158 "overflowScrollingParent", |
157 "Scroll parent is not an ancestor" }, | 159 "Scroll parent is not an ancestor" }, |
158 { CompositingReasonOutOfFlowClipping, | 160 { CompositingReasonOutOfFlowClipping, |
159 "outOfFlowClipping", | 161 "outOfFlowClipping", |
160 "Has clipping ancestor" }, | 162 "Has clipping ancestor" }, |
161 { CompositingReasonVideoOverlay, | 163 { CompositingReasonVideoOverlay, |
162 "videoOverlay", | 164 "videoOverlay", |
163 "Is overlay controls for video" }, | 165 "Is overlay controls for video" }, |
| 166 { CompositingReasonWillChange, |
| 167 "willChange", |
| 168 "Has a will-change compositing hint" }, |
164 { CompositingReasonAssumedOverlap, | 169 { CompositingReasonAssumedOverlap, |
165 "assumedOverlap", | 170 "assumedOverlap", |
166 "Might overlap other composited content" }, | 171 "Might overlap other composited content" }, |
167 { CompositingReasonOverlap, | 172 { CompositingReasonOverlap, |
168 "overlap", | 173 "overlap", |
169 "Overlaps other composited content" }, | 174 "Overlaps other composited content" }, |
170 { CompositingReasonNegativeZIndexChildren, | 175 { CompositingReasonNegativeZIndexChildren, |
171 "negativeZIndexChildren", | 176 "negativeZIndexChildren", |
172 "Parent with composited negative z-index content" }, | 177 "Parent with composited negative z-index content" }, |
173 { CompositingReasonOverlapsWithoutSquashingTarget, | 178 { CompositingReasonOverlapsWithoutSquashingTarget, |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 "layerForMask", | 254 "layerForMask", |
250 "Secondary layer, to contain the mask contents" }, | 255 "Secondary layer, to contain the mask contents" }, |
251 { CompositingReasonLayerForClippingMask, | 256 { CompositingReasonLayerForClippingMask, |
252 "layerForClippingMask", | 257 "layerForClippingMask", |
253 "Secondary layer, for clipping mask" } | 258 "Secondary layer, for clipping mask" } |
254 }; | 259 }; |
255 | 260 |
256 } // namespace WebCore | 261 } // namespace WebCore |
257 | 262 |
258 #endif // CompositingReasons_h | 263 #endif // CompositingReasons_h |
OLD | NEW |