| OLD | NEW |
| 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 "platform/PlatformExport.h" | 8 #include "platform/PlatformExport.h" |
| 9 #include "wtf/MathExtras.h" | 9 #include "wtf/MathExtras.h" |
| 10 #include <stdint.h> | 10 #include <stdint.h> |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 const uint64_t CompositingReasonIFrame = UINT6
4_C(1) << 4; | 22 const uint64_t CompositingReasonIFrame = UINT6
4_C(1) << 4; |
| 23 const uint64_t CompositingReasonBackfaceVisibilityHidden = UINT6
4_C(1) << 5; | 23 const uint64_t CompositingReasonBackfaceVisibilityHidden = UINT6
4_C(1) << 5; |
| 24 const uint64_t CompositingReasonActiveAnimation = UINT6
4_C(1) << 6; | 24 const uint64_t CompositingReasonActiveAnimation = UINT6
4_C(1) << 6; |
| 25 const uint64_t CompositingReasonTransitionProperty = UINT6
4_C(1) << 7; | 25 const uint64_t CompositingReasonTransitionProperty = UINT6
4_C(1) << 7; |
| 26 const uint64_t CompositingReasonPositionFixed = UINT6
4_C(1) << 8; | 26 const uint64_t CompositingReasonPositionFixed = UINT6
4_C(1) << 8; |
| 27 const uint64_t CompositingReasonOverflowScrollingTouch = UINT6
4_C(1) << 9; | 27 const uint64_t CompositingReasonOverflowScrollingTouch = UINT6
4_C(1) << 9; |
| 28 const uint64_t CompositingReasonOverflowScrollingParent = UINT6
4_C(1) << 10; | 28 const uint64_t CompositingReasonOverflowScrollingParent = UINT6
4_C(1) << 10; |
| 29 const uint64_t CompositingReasonOutOfFlowClipping = UINT6
4_C(1) << 11; | 29 const uint64_t CompositingReasonOutOfFlowClipping = UINT6
4_C(1) << 11; |
| 30 const uint64_t CompositingReasonVideoOverlay = UINT6
4_C(1) << 12; | 30 const uint64_t CompositingReasonVideoOverlay = UINT6
4_C(1) << 12; |
| 31 const uint64_t CompositingReasonWillChangeCompositingHint = UINT6
4_C(1) << 13; | 31 const uint64_t CompositingReasonWillChangeCompositingHint = UINT6
4_C(1) << 13; |
| 32 const uint64_t CompositingReasonBackdropFilter = UINT6
4_C(1) << 14; |
| 32 | 33 |
| 33 // Overlap reasons that require knowing what's behind you in paint-order before
knowing the answer | 34 // Overlap reasons that require knowing what's behind you in paint-order before
knowing the answer |
| 34 const uint64_t CompositingReasonAssumedOverlap = UINT6
4_C(1) << 14; | 35 const uint64_t CompositingReasonAssumedOverlap = UINT6
4_C(1) << 15; |
| 35 const uint64_t CompositingReasonOverlap = UINT6
4_C(1) << 15; | 36 const uint64_t CompositingReasonOverlap = UINT6
4_C(1) << 16; |
| 36 const uint64_t CompositingReasonNegativeZIndexChildren = UINT6
4_C(1) << 16; | 37 const uint64_t CompositingReasonNegativeZIndexChildren = UINT6
4_C(1) << 17; |
| 37 const uint64_t CompositingReasonScrollsWithRespectToSquashingLayer = UINT6
4_C(1) << 17; | 38 const uint64_t CompositingReasonScrollsWithRespectToSquashingLayer = UINT6
4_C(1) << 18; |
| 38 const uint64_t CompositingReasonSquashingSparsityExceeded = UINT6
4_C(1) << 18; | 39 const uint64_t CompositingReasonSquashingSparsityExceeded = UINT6
4_C(1) << 19; |
| 39 const uint64_t CompositingReasonSquashingClippingContainerMismatch = UINT6
4_C(1) << 19; | 40 const uint64_t CompositingReasonSquashingClippingContainerMismatch = UINT6
4_C(1) << 20; |
| 40 const uint64_t CompositingReasonSquashingOpacityAncestorMismatch = UINT6
4_C(1) << 20; | 41 const uint64_t CompositingReasonSquashingOpacityAncestorMismatch = UINT6
4_C(1) << 21; |
| 41 const uint64_t CompositingReasonSquashingTransformAncestorMismatch = UINT6
4_C(1) << 21; | 42 const uint64_t CompositingReasonSquashingTransformAncestorMismatch = UINT6
4_C(1) << 22; |
| 42 const uint64_t CompositingReasonSquashingFilterMismatch = UINT6
4_C(1) << 22; | 43 const uint64_t CompositingReasonSquashingFilterMismatch = UINT6
4_C(1) << 23; |
| 43 const uint64_t CompositingReasonSquashingWouldBreakPaintOrder = UINT6
4_C(1) << 23; | 44 const uint64_t CompositingReasonSquashingWouldBreakPaintOrder = UINT6
4_C(1) << 24; |
| 44 const uint64_t CompositingReasonSquashingVideoIsDisallowed = UINT6
4_C(1) << 24; | 45 const uint64_t CompositingReasonSquashingVideoIsDisallowed = UINT6
4_C(1) << 25; |
| 45 const uint64_t CompositingReasonSquashedLayerClipsCompositingDescendants = UINT6
4_C(1) << 25; | 46 const uint64_t CompositingReasonSquashedLayerClipsCompositingDescendants = UINT6
4_C(1) << 26; |
| 46 const uint64_t CompositingReasonSquashingLayoutPartIsDisallowed = UINT6
4_C(1) << 26; | 47 const uint64_t CompositingReasonSquashingLayoutPartIsDisallowed = UINT6
4_C(1) << 27; |
| 47 const uint64_t CompositingReasonSquashingReflectionIsDisallowed = UINT6
4_C(1) << 27; | 48 const uint64_t CompositingReasonSquashingReflectionIsDisallowed = UINT6
4_C(1) << 28; |
| 48 const uint64_t CompositingReasonSquashingBlendingIsDisallowed = UINT6
4_C(1) << 28; | 49 const uint64_t CompositingReasonSquashingBlendingIsDisallowed = UINT6
4_C(1) << 29; |
| 49 const uint64_t CompositingReasonSquashingNearestFixedPositionMismatch = UINT6
4_C(1) << 29; | 50 const uint64_t CompositingReasonSquashingNearestFixedPositionMismatch = UINT6
4_C(1) << 30; |
| 50 const uint64_t CompositingReasonScrollChildWithCompositedDescendants = UINT6
4_C(1) << 30; | 51 const uint64_t CompositingReasonScrollChildWithCompositedDescendants = UINT6
4_C(1) << 31; |
| 51 | 52 |
| 52 // Subtree reasons that require knowing what the status of your subtree is befor
e knowing the answer | 53 // Subtree reasons that require knowing what the status of your subtree is befor
e knowing the answer |
| 53 const uint64_t CompositingReasonTransformWithCompositedDescendants = UINT6
4_C(1) << 31; | 54 const uint64_t CompositingReasonTransformWithCompositedDescendants = UINT6
4_C(1) << 32; |
| 54 const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT6
4_C(1) << 32; | 55 const uint64_t CompositingReasonOpacityWithCompositedDescendants = UINT6
4_C(1) << 33; |
| 55 const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT6
4_C(1) << 33; | 56 const uint64_t CompositingReasonMaskWithCompositedDescendants = UINT6
4_C(1) << 34; |
| 56 const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT6
4_C(1) << 34; | 57 const uint64_t CompositingReasonReflectionWithCompositedDescendants = UINT6
4_C(1) << 35; |
| 57 const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT6
4_C(1) << 35; | 58 const uint64_t CompositingReasonFilterWithCompositedDescendants = UINT6
4_C(1) << 36; |
| 58 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT6
4_C(1) << 36; | 59 const uint64_t CompositingReasonBlendingWithCompositedDescendants = UINT6
4_C(1) << 37; |
| 59 const uint64_t CompositingReasonClipsCompositingDescendants = UINT6
4_C(1) << 37; | 60 const uint64_t CompositingReasonClipsCompositingDescendants = UINT6
4_C(1) << 38; |
| 60 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT6
4_C(1) << 38; | 61 const uint64_t CompositingReasonPerspectiveWith3DDescendants = UINT6
4_C(1) << 39; |
| 61 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT6
4_C(1) << 39; | 62 const uint64_t CompositingReasonPreserve3DWith3DDescendants = UINT6
4_C(1) << 40; |
| 62 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT6
4_C(1) << 40; | 63 const uint64_t CompositingReasonReflectionOfCompositedParent = UINT6
4_C(1) << 41; |
| 63 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT6
4_C(1) << 41; | 64 const uint64_t CompositingReasonIsolateCompositedDescendants = UINT6
4_C(1) << 42; |
| 64 | 65 |
| 65 // The root layer is a special case that may be forced to be a layer, but also i
t needs to be | 66 // The root layer is a special case that may be forced to be a layer, but also i
t needs to be |
| 66 // a layer if anything else in the subtree is composited. | 67 // a layer if anything else in the subtree is composited. |
| 67 const uint64_t CompositingReasonRoot = UINT6
4_C(1) << 42; | 68 const uint64_t CompositingReasonRoot = UINT6
4_C(1) << 43; |
| 68 | 69 |
| 69 // CompositedLayerMapping internal hierarchy reasons | 70 // CompositedLayerMapping internal hierarchy reasons |
| 70 const uint64_t CompositingReasonLayerForAncestorClip = UINT6
4_C(1) << 43; | 71 const uint64_t CompositingReasonLayerForAncestorClip = UINT6
4_C(1) << 44; |
| 71 const uint64_t CompositingReasonLayerForDescendantClip = UINT6
4_C(1) << 44; | 72 const uint64_t CompositingReasonLayerForDescendantClip = UINT6
4_C(1) << 45; |
| 72 const uint64_t CompositingReasonLayerForPerspective = UINT6
4_C(1) << 45; | 73 const uint64_t CompositingReasonLayerForPerspective = UINT6
4_C(1) << 46; |
| 73 const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT6
4_C(1) << 46; | 74 const uint64_t CompositingReasonLayerForHorizontalScrollbar = UINT6
4_C(1) << 47; |
| 74 const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT6
4_C(1) << 47; | 75 const uint64_t CompositingReasonLayerForVerticalScrollbar = UINT6
4_C(1) << 48; |
| 75 const uint64_t CompositingReasonLayerForOverflowControlsHost = UINT6
4_C(1) << 48; | 76 const uint64_t CompositingReasonLayerForOverflowControlsHost = UINT6
4_C(1) << 49; |
| 76 const uint64_t CompositingReasonLayerForScrollCorner = UINT6
4_C(1) << 49; | 77 const uint64_t CompositingReasonLayerForScrollCorner = UINT6
4_C(1) << 50; |
| 77 const uint64_t CompositingReasonLayerForScrollingContents = UINT6
4_C(1) << 50; | 78 const uint64_t CompositingReasonLayerForScrollingContents = UINT6
4_C(1) << 51; |
| 78 const uint64_t CompositingReasonLayerForScrollingContainer = UINT6
4_C(1) << 51; | 79 const uint64_t CompositingReasonLayerForScrollingContainer = UINT6
4_C(1) << 52; |
| 79 const uint64_t CompositingReasonLayerForSquashingContents = UINT6
4_C(1) << 52; | 80 const uint64_t CompositingReasonLayerForSquashingContents = UINT6
4_C(1) << 53; |
| 80 const uint64_t CompositingReasonLayerForSquashingContainer = UINT6
4_C(1) << 53; | 81 const uint64_t CompositingReasonLayerForSquashingContainer = UINT6
4_C(1) << 54; |
| 81 const uint64_t CompositingReasonLayerForForeground = UINT6
4_C(1) << 54; | 82 const uint64_t CompositingReasonLayerForForeground = UINT6
4_C(1) << 55; |
| 82 const uint64_t CompositingReasonLayerForBackground = UINT6
4_C(1) << 55; | 83 const uint64_t CompositingReasonLayerForBackground = UINT6
4_C(1) << 56; |
| 83 const uint64_t CompositingReasonLayerForMask = UINT6
4_C(1) << 56; | 84 const uint64_t CompositingReasonLayerForMask = UINT6
4_C(1) << 57; |
| 84 const uint64_t CompositingReasonLayerForClippingMask = UINT6
4_C(1) << 57; | 85 const uint64_t CompositingReasonLayerForClippingMask = UINT6
4_C(1) << 58; |
| 85 const uint64_t CompositingReasonLayerForScrollingBlockSelection = UINT6
4_C(1) << 58; | 86 const uint64_t CompositingReasonLayerForScrollingBlockSelection = UINT6
4_C(1) << 59; |
| 86 | 87 |
| 87 // Composited elements with inline transforms trigger assumed overlap so that | 88 // Composited elements with inline transforms trigger assumed overlap so that |
| 88 // we can update their transforms quickly. | 89 // we can update their transforms quickly. |
| 89 const uint64_t CompositingReasonInlineTransform = UINT6
4_C(1) << 59; | 90 const uint64_t CompositingReasonInlineTransform = UINT6
4_C(1) << 60; |
| 90 | 91 |
| 91 const uint64_t CompositingReasonCompositorProxy = UINT6
4_C(1) << 60; | 92 const uint64_t CompositingReasonCompositorProxy = UINT6
4_C(1) << 61; |
| 92 | 93 |
| 93 // Various combinations of compositing reasons are defined here also, for more i
ntutive and faster bitwise logic. | 94 // Various combinations of compositing reasons are defined here also, for more i
ntutive and faster bitwise logic. |
| 94 const uint64_t CompositingReasonComboAllDirectReasons = | 95 const uint64_t CompositingReasonComboAllDirectReasons = |
| 95 CompositingReason3DTransform | 96 CompositingReason3DTransform |
| 96 | CompositingReasonVideo | 97 | CompositingReasonVideo |
| 97 | CompositingReasonCanvas | 98 | CompositingReasonCanvas |
| 98 | CompositingReasonPlugin | 99 | CompositingReasonPlugin |
| 99 | CompositingReasonIFrame | 100 | CompositingReasonIFrame |
| 100 | CompositingReasonBackfaceVisibilityHidden | 101 | CompositingReasonBackfaceVisibilityHidden |
| 101 | CompositingReasonActiveAnimation | 102 | CompositingReasonActiveAnimation |
| 102 | CompositingReasonTransitionProperty | 103 | CompositingReasonTransitionProperty |
| 103 | CompositingReasonPositionFixed | 104 | CompositingReasonPositionFixed |
| 104 | CompositingReasonOverflowScrollingTouch | 105 | CompositingReasonOverflowScrollingTouch |
| 105 | CompositingReasonOverflowScrollingParent | 106 | CompositingReasonOverflowScrollingParent |
| 106 | CompositingReasonOutOfFlowClipping | 107 | CompositingReasonOutOfFlowClipping |
| 107 | CompositingReasonVideoOverlay | 108 | CompositingReasonVideoOverlay |
| 108 | CompositingReasonWillChangeCompositingHint | 109 | CompositingReasonWillChangeCompositingHint |
| 109 | CompositingReasonCompositorProxy; | 110 | CompositingReasonCompositorProxy |
| 111 | CompositingReasonBackdropFilter; |
| 110 | 112 |
| 111 const uint64_t CompositingReasonComboAllDirectStyleDeterminedReasons = | 113 const uint64_t CompositingReasonComboAllDirectStyleDeterminedReasons = |
| 112 CompositingReason3DTransform | 114 CompositingReason3DTransform |
| 113 | CompositingReasonBackfaceVisibilityHidden | 115 | CompositingReasonBackfaceVisibilityHidden |
| 114 | CompositingReasonActiveAnimation | 116 | CompositingReasonActiveAnimation |
| 115 | CompositingReasonTransitionProperty | 117 | CompositingReasonTransitionProperty |
| 116 | CompositingReasonWillChangeCompositingHint | 118 | CompositingReasonWillChangeCompositingHint |
| 117 | CompositingReasonCompositorProxy; | 119 | CompositingReasonCompositorProxy |
| 120 | CompositingReasonBackdropFilter; |
| 118 | 121 |
| 119 const uint64_t CompositingReasonComboCompositedDescendants = | 122 const uint64_t CompositingReasonComboCompositedDescendants = |
| 120 CompositingReasonTransformWithCompositedDescendants | 123 CompositingReasonTransformWithCompositedDescendants |
| 121 | CompositingReasonIsolateCompositedDescendants | 124 | CompositingReasonIsolateCompositedDescendants |
| 122 | CompositingReasonOpacityWithCompositedDescendants | 125 | CompositingReasonOpacityWithCompositedDescendants |
| 123 | CompositingReasonMaskWithCompositedDescendants | 126 | CompositingReasonMaskWithCompositedDescendants |
| 124 | CompositingReasonFilterWithCompositedDescendants | 127 | CompositingReasonFilterWithCompositedDescendants |
| 125 | CompositingReasonBlendingWithCompositedDescendants | 128 | CompositingReasonBlendingWithCompositedDescendants |
| 126 | CompositingReasonReflectionWithCompositedDescendants | 129 | CompositingReasonReflectionWithCompositedDescendants |
| 127 | CompositingReasonClipsCompositingDescendants; | 130 | CompositingReasonClipsCompositingDescendants; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 154 | CompositingReasonSquashingReflectionIsDisallowed | 157 | CompositingReasonSquashingReflectionIsDisallowed |
| 155 | CompositingReasonSquashingBlendingIsDisallowed | 158 | CompositingReasonSquashingBlendingIsDisallowed |
| 156 | CompositingReasonTransformWithCompositedDescendants | 159 | CompositingReasonTransformWithCompositedDescendants |
| 157 | CompositingReasonOpacityWithCompositedDescendants | 160 | CompositingReasonOpacityWithCompositedDescendants |
| 158 | CompositingReasonMaskWithCompositedDescendants | 161 | CompositingReasonMaskWithCompositedDescendants |
| 159 | CompositingReasonFilterWithCompositedDescendants | 162 | CompositingReasonFilterWithCompositedDescendants |
| 160 | CompositingReasonBlendingWithCompositedDescendants | 163 | CompositingReasonBlendingWithCompositedDescendants |
| 161 | CompositingReasonIsolateCompositedDescendants | 164 | CompositingReasonIsolateCompositedDescendants |
| 162 | CompositingReasonPreserve3DWith3DDescendants // preserve-3d has to create
backing store to ensure that 3d-transformed elements intersect. | 165 | CompositingReasonPreserve3DWith3DDescendants // preserve-3d has to create
backing store to ensure that 3d-transformed elements intersect. |
| 163 | CompositingReasonSquashingNearestFixedPositionMismatch | 166 | CompositingReasonSquashingNearestFixedPositionMismatch |
| 164 | CompositingReasonScrollChildWithCompositedDescendants; | 167 | CompositingReasonScrollChildWithCompositedDescendants |
| 168 | CompositingReasonBackdropFilter; |
| 165 | 169 |
| 166 const uint64_t CompositingReasonComboSquashableReasons = | 170 const uint64_t CompositingReasonComboSquashableReasons = |
| 167 CompositingReasonOverlap | 171 CompositingReasonOverlap |
| 168 | CompositingReasonAssumedOverlap | 172 | CompositingReasonAssumedOverlap |
| 169 | CompositingReasonOverflowScrollingParent; | 173 | CompositingReasonOverflowScrollingParent; |
| 170 | 174 |
| 171 typedef uint64_t CompositingReasons; | 175 typedef uint64_t CompositingReasons; |
| 172 | 176 |
| 173 // Any reasons other than overlap or assumed overlap will require the layer to b
e separately compositing. | 177 // Any reasons other than overlap or assumed overlap will require the layer to b
e separately compositing. |
| 174 inline bool requiresCompositing(CompositingReasons reasons) | 178 inline bool requiresCompositing(CompositingReasons reasons) |
| (...skipping 12 matching lines...) Expand all Loading... |
| 187 const char* shortName; | 191 const char* shortName; |
| 188 const char* description; | 192 const char* description; |
| 189 }; | 193 }; |
| 190 | 194 |
| 191 PLATFORM_EXPORT extern const CompositingReasonStringMap kCompositingReasonString
Map[]; | 195 PLATFORM_EXPORT extern const CompositingReasonStringMap kCompositingReasonString
Map[]; |
| 192 PLATFORM_EXPORT extern size_t kNumberOfCompositingReasons; | 196 PLATFORM_EXPORT extern size_t kNumberOfCompositingReasons; |
| 193 | 197 |
| 194 } // namespace blink | 198 } // namespace blink |
| 195 | 199 |
| 196 #endif // CompositingReasons_h | 200 #endif // CompositingReasons_h |
| OLD | NEW |