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

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

Issue 175263002: Implement will-change-based creation of layers, stacking contexts, and containing blocks (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Always create a stacking context for will-change:position Created 6 years, 10 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 | Annotate | Revision Log
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 "wtf/MathExtras.h" 8 #include "wtf/MathExtras.h"
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 10 matching lines...) Expand all
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
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
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
OLDNEW
« Source/core/css/resolver/StyleAdjuster.cpp ('K') | « Source/core/rendering/style/RenderStyle.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698