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

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

Issue 206413009: Split out the style-determined direct compositing reasons (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | 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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 | CompositingReasonTransitionProperty 81 | CompositingReasonTransitionProperty
82 | CompositingReasonFilters 82 | CompositingReasonFilters
83 | CompositingReasonPositionFixed 83 | CompositingReasonPositionFixed
84 | CompositingReasonPositionSticky 84 | CompositingReasonPositionSticky
85 | CompositingReasonOverflowScrollingTouch 85 | CompositingReasonOverflowScrollingTouch
86 | CompositingReasonOverflowScrollingParent 86 | CompositingReasonOverflowScrollingParent
87 | CompositingReasonOutOfFlowClipping 87 | CompositingReasonOutOfFlowClipping
88 | CompositingReasonVideoOverlay 88 | CompositingReasonVideoOverlay
89 | CompositingReasonWillChange; 89 | CompositingReasonWillChange;
90 90
91 const uint64_t CompositingReasonComboAllStyleDeterminedDirectReasons =
92 CompositingReason3DTransform
93 | CompositingReasonVideo
94 | CompositingReasonCanvas
95 | CompositingReasonPlugin
96 | CompositingReasonIFrame
97 | CompositingReasonBackfaceVisibilityHidden
98 | CompositingReasonActiveAnimation
99 | CompositingReasonTransitionProperty
100 | CompositingReasonFilters
101 | CompositingReasonVideoOverlay
102 | CompositingReasonWillChange;
103
91 const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking = 104 const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking =
92 CompositingReasonComboAllDirectReasons 105 CompositingReasonComboAllDirectReasons
93 | CompositingReasonOverlap 106 | CompositingReasonOverlap
94 | CompositingReasonAssumedOverlap 107 | CompositingReasonAssumedOverlap
95 | CompositingReasonNegativeZIndexChildren 108 | CompositingReasonNegativeZIndexChildren
96 | CompositingReasonNoSquashingTargetFound 109 | CompositingReasonNoSquashingTargetFound
97 | CompositingReasonTransformWithCompositedDescendants 110 | CompositingReasonTransformWithCompositedDescendants
98 | CompositingReasonOpacityWithCompositedDescendants 111 | CompositingReasonOpacityWithCompositedDescendants
99 | CompositingReasonMaskWithCompositedDescendants 112 | CompositingReasonMaskWithCompositedDescendants
100 | CompositingReasonFilterWithCompositedDescendants 113 | CompositingReasonFilterWithCompositedDescendants
101 | CompositingReasonBlendingWithCompositedDescendants 114 | CompositingReasonBlendingWithCompositedDescendants
102 | CompositingReasonIsolateCompositedDescendants 115 | CompositingReasonIsolateCompositedDescendants
103 | CompositingReasonPreserve3DWith3DDescendants; // preserve-3d has to create backing store to ensure that 3d-transformed elements intersect. 116 | CompositingReasonPreserve3DWith3DDescendants; // preserve-3d has to create backing store to ensure that 3d-transformed elements intersect.
104 117
105 const uint64_t CompositingReasonComboSquashableReasons = 118 const uint64_t CompositingReasonComboSquashableReasons =
106 CompositingReasonOverlap 119 CompositingReasonOverlap
107 | CompositingReasonAssumedOverlap; 120 | CompositingReasonAssumedOverlap;
108 121
109 typedef uint64_t CompositingReasons; 122 typedef uint64_t CompositingReasons;
110 123
111 struct CompositingReasonStringMap { 124 struct CompositingReasonStringMap {
112 CompositingReasons reason; 125 CompositingReasons reason;
113 const char* shortName; 126 const char* shortName;
114 const char* description; 127 const char* description;
115 }; 128 };
116 129
130 // FIXME: This static data shouldn't be in a header. When it's in the header
131 // it's copied into every compilation unit that includes the header.
117 static const CompositingReasonStringMap compositingReasonStringMap[] = { 132 static const CompositingReasonStringMap compositingReasonStringMap[] = {
118 { CompositingReasonNone, 133 { CompositingReasonNone,
119 "Unknown", 134 "Unknown",
120 "No reason given" }, 135 "No reason given" },
121 { CompositingReason3DTransform, 136 { CompositingReason3DTransform,
122 "transform3D", 137 "transform3D",
123 "Has a 3d transform" }, 138 "Has a 3d transform" },
124 { CompositingReasonVideo, 139 { CompositingReasonVideo,
125 "video", 140 "video",
126 "Is an accelerated video" }, 141 "Is an accelerated video" },
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 "layerForMask", 269 "layerForMask",
255 "Secondary layer, to contain the mask contents" }, 270 "Secondary layer, to contain the mask contents" },
256 { CompositingReasonLayerForClippingMask, 271 { CompositingReasonLayerForClippingMask,
257 "layerForClippingMask", 272 "layerForClippingMask",
258 "Secondary layer, for clipping mask" } 273 "Secondary layer, for clipping mask" }
259 }; 274 };
260 275
261 } // namespace WebCore 276 } // namespace WebCore
262 277
263 #endif // CompositingReasons_h 278 #endif // CompositingReasons_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698