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

Side by Side Diff: Source/Platform/chromium/public/WebCompositingReasons.h

Issue 15181006: Plumb CompositingReason from Blink to compositor. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 7 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
(Empty)
1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN Y
jamesr 2013/05/17 00:10:20 wrong copyright header. Look for an email from da
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN Y
17 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O N
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 */
24
25 #ifndef WebCompositingReasons_h
26 #define WebCompositingReasons_h
27
28 #if WEBKIT_IMPLEMENTATION
29 #include "core/rendering/RenderLayer.h"
jamesr 2013/05/17 00:10:20 we shouldn't do this
30 #endif
31
32 // This define will go away after landing both chromium and blink sides.
33 #define USE_WEB_COMPOSITING_REASONS 1
34
35 namespace WebKit {
36
37 // This is a clone of CompositingReasons enum in RenderLayer.h,
38 // with some additional reasons that correspond to the hidden internal
39 // hierarchies in RenderLayerBacking and GraphicsLayer.
40 enum {
41 CompositingReasonUnknown = 0,
42 CompositingReason3DTransform = 1 << 0,
43 CompositingReasonVideo = 1 << 1,
44 CompositingReasonCanvas = 1 << 2,
45 CompositingReasonPlugin = 1 << 3,
46 CompositingReasonIFrame = 1 << 4,
47 CompositingReasonBackfaceVisibilityHidden = 1 << 5,
48 CompositingReasonAnimation = 1 << 6,
49 CompositingReasonFilters = 1 << 7,
50 CompositingReasonPositionFixed = 1 << 8,
51 CompositingReasonPositionSticky = 1 << 9,
52 CompositingReasonOverflowScrollingTouch = 1 << 10,
53 CompositingReasonBlending = 1 << 11,
54 CompositingReasonAssumedOverlap = 1 << 12,
55 CompositingReasonOverlap = 1 << 13,
56 CompositingReasonNegativeZIndexChildren = 1 << 14,
57 CompositingReasonTransformWithCompositedDescendants = 1 << 15,
58 CompositingReasonOpacityWithCompositedDescendants = 1 << 16,
59 CompositingReasonMaskWithCompositedDescendants = 1 << 17,
60 CompositingReasonReflectionWithCompositedDescendants = 1 << 18,
61 CompositingReasonFilterWithCompositedDescendants = 1 << 19,
62 CompositingReasonBlendingWithCompositedDescendants = 1 << 20,
63 CompositingReasonClipsCompositingDescendants = 1 << 21,
64 CompositingReasonPerspective = 1 << 22,
65 CompositingReasonPreserve3D = 1 << 23,
66 CompositingReasonReflectionOfCompositedParent = 1 << 24,
67 CompositingReasonRoot = 1 << 25,
68 CompositingReasonLayerForClip = 1 << 26,
69 CompositingReasonLayerForDescendantClip = 1 << 27,
70 CompositingReasonLayerForScrollbar = 1 << 28,
71 CompositingReasonsLayerForScrollingContainer = 1 << 29,
72 CompositingReasonsLayerForForeground = 1 << 30
73
74 // FIXME: Change this enum to a list of 64-bit constants so that we can
jamesr 2013/05/17 00:10:20 An enum is not a signed type, so I'm not sure what
75 // handle more than 32 reasons. There are already more than 32 reason s,
76 // just not yet captured here.
77 };
78
79 // It is a typedef to allow bitwise operators to be used without type casts.
80 typedef unsigned WebCompositingReasons;
81
82 // Aggressively try to catch any mismatch between this enum and the WebCore enum .
83 #if WEBKIT_IMPLEMENTATION
84 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonUnknown) == static _cast<unsigned>(WebCore::CompositingReasonNone), WebCompositingReasons_enum_does _not_match_webcore);
jamesr 2013/05/17 00:10:20 no - put these in AssertMatchingEnums
85 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReason3DTransform) == st atic_cast<unsigned>(WebCore::CompositingReason3DTransform), WebCompositingReason s_enum_does_not_match_webcore);
86 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonVideo) == static_c ast<unsigned>(WebCore::CompositingReasonVideo), WebCompositingReasons_enum_does_ not_match_webcore);
87 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonCanvas) == static_ cast<unsigned>(WebCore::CompositingReasonCanvas), WebCompositingReasons_enum_doe s_not_match_webcore);
88 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonPlugin) == static_ cast<unsigned>(WebCore::CompositingReasonPlugin), WebCompositingReasons_enum_doe s_not_match_webcore);
89 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonIFrame) == static_ cast<unsigned>(WebCore::CompositingReasonIFrame), WebCompositingReasons_enum_doe s_not_match_webcore);
90 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonBackfaceVisibility Hidden) == static_cast<unsigned>(WebCore::CompositingReasonBackfaceVisibilityHid den), WebCompositingReasons_enum_does_not_match_webcore);
91 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonAnimation) == stat ic_cast<unsigned>(WebCore::CompositingReasonAnimation), WebCompositingReasons_en um_does_not_match_webcore);
92 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonFilters) == static _cast<unsigned>(WebCore::CompositingReasonFilters), WebCompositingReasons_enum_d oes_not_match_webcore);
93 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonPositionFixed) == static_cast<unsigned>(WebCore::CompositingReasonPositionFixed), WebCompositingRe asons_enum_does_not_match_webcore);
94 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonPositionSticky) == static_cast<unsigned>(WebCore::CompositingReasonPositionSticky), WebCompositing Reasons_enum_does_not_match_webcore);
95 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonOverflowScrollingT ouch) == static_cast<unsigned>(WebCore::CompositingReasonOverflowScrollingTouch) , WebCompositingReasons_enum_does_not_match_webcore);
96 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonBlending) == stati c_cast<unsigned>(WebCore::CompositingReasonBlending), WebCompositingReasons_enum _does_not_match_webcore);
97 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonAssumedOverlap) == static_cast<unsigned>(WebCore::CompositingReasonAssumedOverlap), WebCompositing Reasons_enum_does_not_match_webcore);
98 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonOverlap) == static _cast<unsigned>(WebCore::CompositingReasonOverlap), WebCompositingReasons_enum_d oes_not_match_webcore);
99 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonNegativeZIndexChil dren) == static_cast<unsigned>(WebCore::CompositingReasonNegativeZIndexChildren) , WebCompositingReasons_enum_does_not_match_webcore);
100 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonTransformWithCompo sitedDescendants) == static_cast<unsigned>(WebCore::CompositingReasonTransformWi thCompositedDescendants), WebCompositingReasons_enum_does_not_match_webcore);
101 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonOpacityWithComposi tedDescendants) == static_cast<unsigned>(WebCore::CompositingReasonOpacityWithCo mpositedDescendants), WebCompositingReasons_enum_does_not_match_webcore);
102 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonMaskWithComposited Descendants) == static_cast<unsigned>(WebCore::CompositingReasonMaskWithComposit edDescendants), WebCompositingReasons_enum_does_not_match_webcore);
103 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonReflectionWithComp ositedDescendants) == static_cast<unsigned>(WebCore::CompositingReasonReflection WithCompositedDescendants), WebCompositingReasons_enum_does_not_match_webcore);
104 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonFilterWithComposit edDescendants) == static_cast<unsigned>(WebCore::CompositingReasonFilterWithComp ositedDescendants), WebCompositingReasons_enum_does_not_match_webcore);
105 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonBlendingWithCompos itedDescendants) == static_cast<unsigned>(WebCore::CompositingReasonBlendingWith CompositedDescendants), WebCompositingReasons_enum_does_not_match_webcore);
106 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonClipsCompositingDe scendants) == static_cast<unsigned>(WebCore::CompositingReasonClipsCompositingDe scendants), WebCompositingReasons_enum_does_not_match_webcore);
107 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonPerspective) == st atic_cast<unsigned>(WebCore::CompositingReasonPerspective), WebCompositingReason s_enum_does_not_match_webcore);
108 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonPreserve3D) == sta tic_cast<unsigned>(WebCore::CompositingReasonPreserve3D), WebCompositingReasons_ enum_does_not_match_webcore);
109 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonReflectionOfCompos itedParent) == static_cast<unsigned>(WebCore::CompositingReasonReflectionOfCompo sitedParent), WebCompositingReasons_enum_does_not_match_webcore);
110 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonRoot) == static_ca st<unsigned>(WebCore::CompositingReasonRoot), WebCompositingReasons_enum_does_no t_match_webcore);
111 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonLayerForClip) == s tatic_cast<unsigned>(WebCore::CompositingReasonLayerForClip), WebCompositingReas ons_enum_does_not_match_webcore);
112 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonLayerForDescendant Clip) == static_cast<unsigned>(WebCore::CompositingReasonLayerForDescendantClip) , WebCompositingReasons_enum_does_not_match_webcore);
113 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonLayerForScrollbar) == static_cast<unsigned>(WebCore::CompositingReasonLayerForScrollbar), WebCompo sitingReasons_enum_does_not_match_webcore);
114 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonsLayerForScrolling Container) == static_cast<unsigned>(WebCore::CompositingReasonsLayerForScrolling Container), WebCompositingReasons_enum_does_not_match_webcore);
115 COMPILE_ASSERT(static_cast<unsigned>(WebKit::CompositingReasonsLayerForForegroun d) == static_cast<unsigned>(WebCore::CompositingReasonsLayerForForeground), WebC ompositingReasons_enum_does_not_match_webcore);
116 #endif
117
118 } // namespace WebKit
119
120 #endif // WebCompositingReasons_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698