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

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

Issue 233063004: Suppress layer creation for descendants of GPU-rasterized layers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Move assert disabler in ~CompositedLayerMapping Created 6 years, 8 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
« no previous file with comments | « Source/core/rendering/style/RenderStyle.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 11 matching lines...) Expand all
22 const uint64_t CompositingReasonBackfaceVisibilityHidden = UINT64_ C(1) << 5; 22 const uint64_t CompositingReasonBackfaceVisibilityHidden = UINT64_ C(1) << 5;
23 const uint64_t CompositingReasonActiveAnimation = UINT64_ C(1) << 6; 23 const uint64_t CompositingReasonActiveAnimation = UINT64_ C(1) << 6;
24 const uint64_t CompositingReasonTransitionProperty = UINT64_ C(1) << 7; 24 const uint64_t CompositingReasonTransitionProperty = UINT64_ C(1) << 7;
25 const uint64_t CompositingReasonFilters = UINT64_ C(1) << 8; 25 const uint64_t CompositingReasonFilters = UINT64_ C(1) << 8;
26 const uint64_t CompositingReasonPositionFixed = UINT64_ C(1) << 9; 26 const uint64_t CompositingReasonPositionFixed = UINT64_ C(1) << 9;
27 const uint64_t CompositingReasonPositionSticky = UINT64_ C(1) << 10; 27 const uint64_t CompositingReasonPositionSticky = UINT64_ C(1) << 10;
28 const uint64_t CompositingReasonOverflowScrollingTouch = UINT64_ C(1) << 11; 28 const uint64_t CompositingReasonOverflowScrollingTouch = UINT64_ C(1) << 11;
29 const uint64_t CompositingReasonOverflowScrollingParent = UINT64_ C(1) << 12; 29 const uint64_t CompositingReasonOverflowScrollingParent = UINT64_ C(1) << 12;
30 const uint64_t CompositingReasonOutOfFlowClipping = UINT64_ C(1) << 13; 30 const uint64_t CompositingReasonOutOfFlowClipping = UINT64_ C(1) << 13;
31 const uint64_t CompositingReasonVideoOverlay = UINT64_ C(1) << 14; 31 const uint64_t CompositingReasonVideoOverlay = UINT64_ C(1) << 14;
32 const uint64_t CompositingReasonWillChange = UINT64_ C(1) << 15; 32 const uint64_t CompositingReasonWillChangeCompositingHint = UINT64_ C(1) << 15;
33 const uint64_t CompositingReasonWillChangeGpuRasterizationHint = UINT64_ C(1) << 16;
33 34
34 // Overlap reasons that require knowing what's behind you in paint-order before knowing the answer 35 // Overlap reasons that require knowing what's behind you in paint-order before knowing the answer
35 const uint64_t CompositingReasonAssumedOverlap = UINT64_ C(1) << 16; 36 const uint64_t CompositingReasonAssumedOverlap = UINT64_ C(1) << 17;
36 const uint64_t CompositingReasonOverlap = UINT64_ C(1) << 17; 37 const uint64_t CompositingReasonOverlap = UINT64_ C(1) << 18;
37 const uint64_t CompositingReasonNegativeZIndexChildren = UINT64_ C(1) << 18; 38 const uint64_t CompositingReasonNegativeZIndexChildren = UINT64_ C(1) << 19;
38 const uint64_t CompositingReasonNoSquashingTargetFound = UINT64_ C(1) << 19; 39 const uint64_t CompositingReasonNoSquashingTargetFound = UINT64_ C(1) << 20;
39 40
40 // Subtree reasons that require knowing what the status of your subtree is befor e knowing the answer 41 // Subtree reasons that require knowing what the status of your subtree is befor e knowing the answer
41 const uint64_t CompositingReasonTransformWithCompositedDescendants = UINT64_ C(1) << 20; 42 const uint64_t CompositingReasonTransformWithCompositedDescendants = UINT64_ C(1) << 21;
42 const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT64_ C(1) << 21; 43 const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT64_ C(1) << 22;
43 const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT64_ C(1) << 22; 44 const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT64_ C(1) << 23;
44 const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT64_ C(1) << 23; 45 const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT64_ C(1) << 24;
45 const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT64_ C(1) << 24; 46 const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT64_ C(1) << 25;
46 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT64_ C(1) << 25; 47 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT64_ C(1) << 26;
47 const uint64_t CompositingReasonClipsCompositingDescendants = UINT64_ C(1) << 26; 48 const uint64_t CompositingReasonClipsCompositingDescendants = UINT64_ C(1) << 27;
48 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT64_ C(1) << 27; 49 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT64_ C(1) << 28;
49 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT64_ C(1) << 28; 50 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT64_ C(1) << 29;
50 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT64_ C(1) << 29; 51 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT64_ C(1) << 30;
51 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT64_ C(1) << 30; 52 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT64_ C(1) << 31;
52 53
53 // The root layer is a special case that may be forced to be a layer, but also i t needs to be 54 // The root layer is a special case that may be forced to be a layer, but also i t needs to be
54 // a layer if anything else in the subtree is composited. 55 // a layer if anything else in the subtree is composited.
55 const uint64_t CompositingReasonRoot = UINT64_ C(1) << 31; 56 const uint64_t CompositingReasonRoot = UINT64_ C(1) << 32;
56 57
57 // CompositedLayerMapping internal hierarchy reasons 58 // CompositedLayerMapping internal hierarchy reasons
58 const uint64_t CompositingReasonLayerForAncestorClip = UINT64_ C(1) << 32; 59 const uint64_t CompositingReasonLayerForAncestorClip = UINT64_ C(1) << 33;
59 const uint64_t CompositingReasonLayerForDescendantClip = UINT64_ C(1) << 33; 60 const uint64_t CompositingReasonLayerForDescendantClip = UINT64_ C(1) << 34;
60 const uint64_t CompositingReasonLayerForPerspective = UINT64_ C(1) << 34; 61 const uint64_t CompositingReasonLayerForPerspective = UINT64_ C(1) << 35;
61 const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT64_ C(1) << 35; 62 const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT64_ C(1) << 36;
62 const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT64_ C(1) << 36; 63 const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT64_ C(1) << 37;
63 const uint64_t CompositingReasonLayerForScrollCorner = UINT64_ C(1) << 37; 64 const uint64_t CompositingReasonLayerForScrollCorner = UINT64_ C(1) << 38;
64 const uint64_t CompositingReasonLayerForScrollingContents = UINT64_ C(1) << 38; 65 const uint64_t CompositingReasonLayerForScrollingContents = UINT64_ C(1) << 39;
65 const uint64_t CompositingReasonLayerForScrollingContainer = UINT64_ C(1) << 39; 66 const uint64_t CompositingReasonLayerForScrollingContainer = UINT64_ C(1) << 40;
66 const uint64_t CompositingReasonLayerForSquashingContents = UINT64_ C(1) << 40; 67 const uint64_t CompositingReasonLayerForSquashingContents = UINT64_ C(1) << 41;
67 const uint64_t CompositingReasonLayerForSquashingContainer = UINT64_ C(1) << 41; 68 const uint64_t CompositingReasonLayerForSquashingContainer = UINT64_ C(1) << 42;
68 const uint64_t CompositingReasonLayerForForeground = UINT64_ C(1) << 42; 69 const uint64_t CompositingReasonLayerForForeground = UINT64_ C(1) << 43;
69 const uint64_t CompositingReasonLayerForBackground = UINT64_ C(1) << 43; 70 const uint64_t CompositingReasonLayerForBackground = UINT64_ C(1) << 44;
70 const uint64_t CompositingReasonLayerForMask = UINT64_ C(1) << 44; 71 const uint64_t CompositingReasonLayerForMask = UINT64_ C(1) << 45;
71 const uint64_t CompositingReasonLayerForClippingMask = UINT64_ C(1) << 45; 72 const uint64_t CompositingReasonLayerForClippingMask = UINT64_ C(1) << 46;
72 73
73 // Various combinations of compositing reasons are defined here also, for more i ntutive and faster bitwise logic. 74 // Various combinations of compositing reasons are defined here also, for more i ntutive and faster bitwise logic.
74 const uint64_t CompositingReasonComboAllDirectReasons = 75 const uint64_t CompositingReasonComboAllDirectReasons =
75 CompositingReason3DTransform 76 CompositingReason3DTransform
76 | CompositingReasonVideo 77 | CompositingReasonVideo
77 | CompositingReasonCanvas 78 | CompositingReasonCanvas
78 | CompositingReasonPlugin 79 | CompositingReasonPlugin
79 | CompositingReasonIFrame 80 | CompositingReasonIFrame
80 | CompositingReasonBackfaceVisibilityHidden 81 | CompositingReasonBackfaceVisibilityHidden
81 | CompositingReasonActiveAnimation 82 | CompositingReasonActiveAnimation
82 | CompositingReasonTransitionProperty 83 | CompositingReasonTransitionProperty
83 | CompositingReasonFilters 84 | CompositingReasonFilters
84 | CompositingReasonPositionFixed 85 | CompositingReasonPositionFixed
85 | CompositingReasonPositionSticky 86 | CompositingReasonPositionSticky
86 | CompositingReasonOverflowScrollingTouch 87 | CompositingReasonOverflowScrollingTouch
87 | CompositingReasonOverflowScrollingParent 88 | CompositingReasonOverflowScrollingParent
88 | CompositingReasonOutOfFlowClipping 89 | CompositingReasonOutOfFlowClipping
89 | CompositingReasonVideoOverlay 90 | CompositingReasonVideoOverlay
90 | CompositingReasonWillChange; 91 | CompositingReasonWillChangeCompositingHint
92 | CompositingReasonWillChangeGpuRasterizationHint;
91 93
92 const uint64_t CompositingReasonComboAllStyleDeterminedReasons = 94 const uint64_t CompositingReasonComboAllStyleDeterminedReasons =
93 CompositingReason3DTransform 95 CompositingReason3DTransform
94 | CompositingReasonBackfaceVisibilityHidden 96 | CompositingReasonBackfaceVisibilityHidden
95 | CompositingReasonActiveAnimation 97 | CompositingReasonActiveAnimation
96 | CompositingReasonTransitionProperty 98 | CompositingReasonTransitionProperty
97 | CompositingReasonFilters 99 | CompositingReasonFilters
98 | CompositingReasonWillChange; 100 | CompositingReasonWillChangeCompositingHint
101 | CompositingReasonWillChangeGpuRasterizationHint;
99 102
100 const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking = 103 const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking =
101 CompositingReasonComboAllDirectReasons 104 CompositingReasonComboAllDirectReasons
102 | CompositingReasonOverlap 105 | CompositingReasonOverlap
103 | CompositingReasonAssumedOverlap 106 | CompositingReasonAssumedOverlap
104 | CompositingReasonNegativeZIndexChildren 107 | CompositingReasonNegativeZIndexChildren
105 | CompositingReasonNoSquashingTargetFound 108 | CompositingReasonNoSquashingTargetFound
106 | CompositingReasonTransformWithCompositedDescendants 109 | CompositingReasonTransformWithCompositedDescendants
107 | CompositingReasonOpacityWithCompositedDescendants 110 | CompositingReasonOpacityWithCompositedDescendants
108 | CompositingReasonMaskWithCompositedDescendants 111 | CompositingReasonMaskWithCompositedDescendants
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 "Is a scrollable overflow element" }, 183 "Is a scrollable overflow element" },
181 { CompositingReasonOverflowScrollingParent, 184 { CompositingReasonOverflowScrollingParent,
182 "overflowScrollingParent", 185 "overflowScrollingParent",
183 "Scroll parent is not an ancestor" }, 186 "Scroll parent is not an ancestor" },
184 { CompositingReasonOutOfFlowClipping, 187 { CompositingReasonOutOfFlowClipping,
185 "outOfFlowClipping", 188 "outOfFlowClipping",
186 "Has clipping ancestor" }, 189 "Has clipping ancestor" },
187 { CompositingReasonVideoOverlay, 190 { CompositingReasonVideoOverlay,
188 "videoOverlay", 191 "videoOverlay",
189 "Is overlay controls for video" }, 192 "Is overlay controls for video" },
190 { CompositingReasonWillChange, 193 { CompositingReasonWillChangeCompositingHint,
191 "willChange", 194 "willChange",
192 "Has a will-change compositing hint" }, 195 "Has a will-change compositing hint" },
196 { CompositingReasonWillChangeGpuRasterizationHint,
197 "willChange",
198 "Has a will-change GPU-rasterization hint" },
193 { CompositingReasonAssumedOverlap, 199 { CompositingReasonAssumedOverlap,
194 "assumedOverlap", 200 "assumedOverlap",
195 "Might overlap other composited content" }, 201 "Might overlap other composited content" },
196 { CompositingReasonOverlap, 202 { CompositingReasonOverlap,
197 "overlap", 203 "overlap",
198 "Overlaps other composited content" }, 204 "Overlaps other composited content" },
199 { CompositingReasonNegativeZIndexChildren, 205 { CompositingReasonNegativeZIndexChildren,
200 "negativeZIndexChildren", 206 "negativeZIndexChildren",
201 "Parent with composited negative z-index content" }, 207 "Parent with composited negative z-index content" },
202 { CompositingReasonNoSquashingTargetFound, 208 { CompositingReasonNoSquashingTargetFound,
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 "layerForMask", 284 "layerForMask",
279 "Secondary layer, to contain the mask contents" }, 285 "Secondary layer, to contain the mask contents" },
280 { CompositingReasonLayerForClippingMask, 286 { CompositingReasonLayerForClippingMask,
281 "layerForClippingMask", 287 "layerForClippingMask",
282 "Secondary layer, for clipping mask" } 288 "Secondary layer, for clipping mask" }
283 }; 289 };
284 290
285 } // namespace WebCore 291 } // namespace WebCore
286 292
287 #endif // CompositingReasons_h 293 #endif // CompositingReasons_h
OLDNEW
« no previous file with comments | « Source/core/rendering/style/RenderStyle.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698