Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1064)

Side by Side Diff: third_party/WebKit/Source/platform/graphics/CompositingReasons.h

Issue 2754983002: Composite sticky-positioned elements when they have composited descendants (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/Allocator.h" 9 #include "wtf/Allocator.h"
10 #include "wtf/text/WTFString.h" 10 #include "wtf/text/WTFString.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT64_C(1) 54 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT64_C(1)
55 << 24; 55 << 24;
56 const uint64_t CompositingReasonClipsCompositingDescendants = UINT64_C(1) << 25; 56 const uint64_t CompositingReasonClipsCompositingDescendants = UINT64_C(1) << 25;
57 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT64_C(1) 57 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT64_C(1)
58 << 26; 58 << 26;
59 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT64_C(1) << 27; 59 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT64_C(1) << 27;
60 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT64_C(1) 60 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT64_C(1)
61 << 28; 61 << 28;
62 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT64_C(1) 62 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT64_C(1)
63 << 29; 63 << 29;
64 const uint64_t CompositingReasonPositionFixedWithCompositedDescendants = 64 const uint64_t CompositingReasonPositionFixedOrStickyWithCompositedDescendants =
65 UINT64_C(1) << 30; 65 UINT64_C(1) << 30;
66 66
67 // The root layer is a special case. It may be forced to be a layer, but it also 67 // The root layer is a special case. It may be forced to be a layer, but it also
68 // needs to be a layer if anything else in the subtree is composited. 68 // needs to be a layer if anything else in the subtree is composited.
69 const uint64_t CompositingReasonRoot = UINT64_C(1) << 31; 69 const uint64_t CompositingReasonRoot = UINT64_C(1) << 31;
70 70
71 // CompositedLayerMapping internal hierarchy reasons 71 // CompositedLayerMapping internal hierarchy reasons
72 const uint64_t CompositingReasonLayerForAncestorClip = UINT64_C(1) << 32; 72 const uint64_t CompositingReasonLayerForAncestorClip = UINT64_C(1) << 32;
73 const uint64_t CompositingReasonLayerForDescendantClip = UINT64_C(1) << 33; 73 const uint64_t CompositingReasonLayerForDescendantClip = UINT64_C(1) << 33;
74 const uint64_t CompositingReasonLayerForPerspective = UINT64_C(1) << 34; 74 const uint64_t CompositingReasonLayerForPerspective = UINT64_C(1) << 34;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 120
121 const uint64_t CompositingReasonComboCompositedDescendants = 121 const uint64_t CompositingReasonComboCompositedDescendants =
122 CompositingReasonTransformWithCompositedDescendants | 122 CompositingReasonTransformWithCompositedDescendants |
123 CompositingReasonIsolateCompositedDescendants | 123 CompositingReasonIsolateCompositedDescendants |
124 CompositingReasonOpacityWithCompositedDescendants | 124 CompositingReasonOpacityWithCompositedDescendants |
125 CompositingReasonMaskWithCompositedDescendants | 125 CompositingReasonMaskWithCompositedDescendants |
126 CompositingReasonFilterWithCompositedDescendants | 126 CompositingReasonFilterWithCompositedDescendants |
127 CompositingReasonBlendingWithCompositedDescendants | 127 CompositingReasonBlendingWithCompositedDescendants |
128 CompositingReasonReflectionWithCompositedDescendants | 128 CompositingReasonReflectionWithCompositedDescendants |
129 CompositingReasonClipsCompositingDescendants | 129 CompositingReasonClipsCompositingDescendants |
130 CompositingReasonPositionFixedWithCompositedDescendants; 130 CompositingReasonPositionFixedOrStickyWithCompositedDescendants;
131 131
132 const uint64_t CompositingReasonCombo3DDescendants = 132 const uint64_t CompositingReasonCombo3DDescendants =
133 CompositingReasonPreserve3DWith3DDescendants | 133 CompositingReasonPreserve3DWith3DDescendants |
134 CompositingReasonPerspectiveWith3DDescendants; 134 CompositingReasonPerspectiveWith3DDescendants;
135 135
136 const uint64_t CompositingReasonComboAllStyleDeterminedReasons = 136 const uint64_t CompositingReasonComboAllStyleDeterminedReasons =
137 CompositingReasonComboAllDirectStyleDeterminedReasons | 137 CompositingReasonComboAllDirectStyleDeterminedReasons |
138 CompositingReasonComboCompositedDescendants | 138 CompositingReasonComboCompositedDescendants |
139 CompositingReasonCombo3DDescendants | CompositingReasonInlineTransform; 139 CompositingReasonCombo3DDescendants | CompositingReasonInlineTransform;
140 140
141 const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking = 141 const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking =
142 CompositingReasonComboAllDirectReasons | CompositingReasonOverlap | 142 CompositingReasonComboAllDirectReasons | CompositingReasonOverlap |
143 CompositingReasonAssumedOverlap | CompositingReasonNegativeZIndexChildren | 143 CompositingReasonAssumedOverlap | CompositingReasonNegativeZIndexChildren |
144 CompositingReasonSquashingDisallowed | 144 CompositingReasonSquashingDisallowed |
145 CompositingReasonTransformWithCompositedDescendants | 145 CompositingReasonTransformWithCompositedDescendants |
146 CompositingReasonOpacityWithCompositedDescendants | 146 CompositingReasonOpacityWithCompositedDescendants |
147 CompositingReasonMaskWithCompositedDescendants | 147 CompositingReasonMaskWithCompositedDescendants |
148 CompositingReasonFilterWithCompositedDescendants | 148 CompositingReasonFilterWithCompositedDescendants |
149 CompositingReasonBlendingWithCompositedDescendants | 149 CompositingReasonBlendingWithCompositedDescendants |
150 CompositingReasonIsolateCompositedDescendants | 150 CompositingReasonIsolateCompositedDescendants |
151 CompositingReasonPreserve3DWith3DDescendants | // preserve-3d has to create 151 CompositingReasonPreserve3DWith3DDescendants | // preserve-3d has to create
152 // a backing store to ensure 152 // a backing store to ensure
153 // that 3d-transformed 153 // that 3d-transformed
154 // elements intersect. 154 // elements intersect.
155 CompositingReasonBackdropFilter | 155 CompositingReasonBackdropFilter |
156 CompositingReasonPositionFixedWithCompositedDescendants; 156 CompositingReasonPositionFixedOrStickyWithCompositedDescendants;
157 157
158 const uint64_t CompositingReasonComboSquashableReasons = 158 const uint64_t CompositingReasonComboSquashableReasons =
159 CompositingReasonOverlap | CompositingReasonAssumedOverlap | 159 CompositingReasonOverlap | CompositingReasonAssumedOverlap |
160 CompositingReasonOverflowScrollingParent; 160 CompositingReasonOverflowScrollingParent;
161 161
162 typedef uint64_t CompositingReasons; 162 typedef uint64_t CompositingReasons;
163 163
164 // Any reasons other than overlap or assumed overlap will require the layer to 164 // Any reasons other than overlap or assumed overlap will require the layer to
165 // be separately compositing. 165 // be separately compositing.
166 inline bool requiresCompositing(CompositingReasons reasons) { 166 inline bool requiresCompositing(CompositingReasons reasons) {
(...skipping 15 matching lines...) Expand all
182 }; 182 };
183 183
184 PLATFORM_EXPORT extern const CompositingReasonStringMap 184 PLATFORM_EXPORT extern const CompositingReasonStringMap
185 kCompositingReasonStringMap[]; 185 kCompositingReasonStringMap[];
186 PLATFORM_EXPORT extern const size_t kNumberOfCompositingReasons; 186 PLATFORM_EXPORT extern const size_t kNumberOfCompositingReasons;
187 PLATFORM_EXPORT String compositingReasonsAsString(CompositingReasons); 187 PLATFORM_EXPORT String compositingReasonsAsString(CompositingReasons);
188 188
189 } // namespace blink 189 } // namespace blink
190 190
191 #endif // CompositingReasons_h 191 #endif // CompositingReasons_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698