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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: Source/platform/graphics/CompositingReasons.h
diff --git a/Source/platform/graphics/CompositingReasons.h b/Source/platform/graphics/CompositingReasons.h
index 104a0817f724dafc45a6c930f1ef5f280c84322b..b50a6d64c50994cb575416f8f478d37f53b12f19 100644
--- a/Source/platform/graphics/CompositingReasons.h
+++ b/Source/platform/graphics/CompositingReasons.h
@@ -28,45 +28,46 @@ const uint64_t CompositingReasonOverflowScrollingTouch = UINT64_
const uint64_t CompositingReasonOverflowScrollingParent = UINT64_C(1) << 12;
const uint64_t CompositingReasonOutOfFlowClipping = UINT64_C(1) << 13;
const uint64_t CompositingReasonVideoOverlay = UINT64_C(1) << 14;
+const uint64_t CompositingReasonWillChange = UINT64_C(1) << 15;
// Overlap reasons that require knowing what's behind you in paint-order before knowing the answer
-const uint64_t CompositingReasonAssumedOverlap = UINT64_C(1) << 15;
-const uint64_t CompositingReasonOverlap = UINT64_C(1) << 16;
-const uint64_t CompositingReasonNegativeZIndexChildren = UINT64_C(1) << 17;
-const uint64_t CompositingReasonOverlapsWithoutSquashingTarget = UINT64_C(1) << 18;
+const uint64_t CompositingReasonAssumedOverlap = UINT64_C(1) << 16;
+const uint64_t CompositingReasonOverlap = UINT64_C(1) << 17;
+const uint64_t CompositingReasonNegativeZIndexChildren = UINT64_C(1) << 18;
+const uint64_t CompositingReasonOverlapsWithoutSquashingTarget = UINT64_C(1) << 19;
// Subtree reasons that require knowing what the status of your subtree is before knowing the answer
-const uint64_t CompositingReasonTransformWithCompositedDescendants = UINT64_C(1) << 19;
-const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT64_C(1) << 20;
-const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT64_C(1) << 21;
-const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT64_C(1) << 22;
-const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT64_C(1) << 23;
-const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT64_C(1) << 24;
-const uint64_t CompositingReasonClipsCompositingDescendants = UINT64_C(1) << 25;
-const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT64_C(1) << 26;
-const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT64_C(1) << 27;
-const uint64_t CompositingReasonReflectionOfCompositedParent = UINT64_C(1) << 28;
-const uint64_t CompositingReasonIsolateCompositedDescendants = UINT64_C(1) << 29;
+const uint64_t CompositingReasonTransformWithCompositedDescendants = UINT64_C(1) << 20;
+const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT64_C(1) << 21;
+const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT64_C(1) << 22;
+const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT64_C(1) << 23;
+const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT64_C(1) << 24;
+const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT64_C(1) << 25;
+const uint64_t CompositingReasonClipsCompositingDescendants = UINT64_C(1) << 26;
+const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT64_C(1) << 27;
+const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT64_C(1) << 28;
+const uint64_t CompositingReasonReflectionOfCompositedParent = UINT64_C(1) << 29;
+const uint64_t CompositingReasonIsolateCompositedDescendants = UINT64_C(1) << 30;
// The root layer is a special case that may be forced to be a layer, but also it needs to be
// a layer if anything else in the subtree is composited.
-const uint64_t CompositingReasonRoot = UINT64_C(1) << 30;
+const uint64_t CompositingReasonRoot = UINT64_C(1) << 31;
// CompositedLayerMapping internal hierarchy reasons
-const uint64_t CompositingReasonLayerForAncestorClip = UINT64_C(1) << 31;
-const uint64_t CompositingReasonLayerForDescendantClip = UINT64_C(1) << 32;
-const uint64_t CompositingReasonLayerForPerspective = UINT64_C(1) << 33;
-const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT64_C(1) << 34;
-const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT64_C(1) << 35;
-const uint64_t CompositingReasonLayerForScrollCorner = UINT64_C(1) << 36;
-const uint64_t CompositingReasonLayerForScrollingContents = UINT64_C(1) << 37;
-const uint64_t CompositingReasonLayerForScrollingContainer = UINT64_C(1) << 38;
-const uint64_t CompositingReasonLayerForSquashingContents = UINT64_C(1) << 39;
-const uint64_t CompositingReasonLayerForSquashingContainer = UINT64_C(1) << 40;
-const uint64_t CompositingReasonLayerForForeground = UINT64_C(1) << 41;
-const uint64_t CompositingReasonLayerForBackground = UINT64_C(1) << 42;
-const uint64_t CompositingReasonLayerForMask = UINT64_C(1) << 43;
-const uint64_t CompositingReasonLayerForClippingMask = UINT64_C(1) << 44;
+const uint64_t CompositingReasonLayerForAncestorClip = UINT64_C(1) << 32;
+const uint64_t CompositingReasonLayerForDescendantClip = UINT64_C(1) << 33;
+const uint64_t CompositingReasonLayerForPerspective = UINT64_C(1) << 34;
+const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT64_C(1) << 35;
+const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT64_C(1) << 36;
+const uint64_t CompositingReasonLayerForScrollCorner = UINT64_C(1) << 37;
+const uint64_t CompositingReasonLayerForScrollingContents = UINT64_C(1) << 38;
+const uint64_t CompositingReasonLayerForScrollingContainer = UINT64_C(1) << 39;
+const uint64_t CompositingReasonLayerForSquashingContents = UINT64_C(1) << 40;
+const uint64_t CompositingReasonLayerForSquashingContainer = UINT64_C(1) << 41;
+const uint64_t CompositingReasonLayerForForeground = UINT64_C(1) << 42;
+const uint64_t CompositingReasonLayerForBackground = UINT64_C(1) << 43;
+const uint64_t CompositingReasonLayerForMask = UINT64_C(1) << 44;
+const uint64_t CompositingReasonLayerForClippingMask = UINT64_C(1) << 45;
// Various combinations of compositing reasons are defined here also, for more intutive and faster bitwise logic.
const uint64_t CompositingReasonComboAllDirectReasons =
@@ -84,7 +85,8 @@ const uint64_t CompositingReasonComboAllDirectReasons =
| CompositingReasonOverflowScrollingTouch
| CompositingReasonOverflowScrollingParent
| CompositingReasonOutOfFlowClipping
- | CompositingReasonVideoOverlay;
+ | CompositingReasonVideoOverlay
+ | CompositingReasonWillChange;
const uint64_t CompositingReasonComboReasonsThatRequireOwnBacking =
CompositingReasonComboAllDirectReasons
@@ -161,6 +163,9 @@ static const CompositingReasonStringMap compositingReasonStringMap[] = {
{ CompositingReasonVideoOverlay,
"videoOverlay",
"Is overlay controls for video" },
+ { CompositingReasonWillChange,
+ "willChange",
+ "Has a will-change compositing hint" },
{ CompositingReasonAssumedOverlap,
"assumedOverlap",
"Might overlap other composited content" },
« 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