Chromium Code Reviews| Index: Source/core/rendering/RenderLayerCompositor.cpp |
| diff --git a/Source/core/rendering/RenderLayerCompositor.cpp b/Source/core/rendering/RenderLayerCompositor.cpp |
| index 5086bf0565a519c69586194f462a344dd3a44dc7..69a41418297996e02ac87e14256aed3cc830e00f 100644 |
| --- a/Source/core/rendering/RenderLayerCompositor.cpp |
| +++ b/Source/core/rendering/RenderLayerCompositor.cpp |
| @@ -1527,6 +1527,7 @@ bool RenderLayerCompositor::requiresOwnBackingStore(const RenderLayer* layer, co |
| || requiresCompositingForFrame(renderer) |
| || requiresCompositingForBackfaceVisibilityHidden(renderer) |
| || requiresCompositingForAnimation(renderer) |
| + || requiresCompositingForTransition(renderer) |
| || requiresCompositingForFilters(renderer) |
| || requiresCompositingForBlending(renderer) |
| || requiresCompositingForPosition(renderer, layer) |
| @@ -1575,6 +1576,9 @@ CompositingReasons RenderLayerCompositor::directReasonsForCompositing(const Rend |
| if (requiresCompositingForAnimation(renderer)) |
| directReasons |= CompositingReasonAnimation; |
| + if (requiresCompositingForTransition(renderer)) |
| + directReasons |= CompositingReasonTransition; |
| + |
| if (requiresCompositingForFilters(renderer)) |
| directReasons |= CompositingReasonFilters; |
| @@ -1629,6 +1633,9 @@ const char* RenderLayerCompositor::logReasonsForCompositing(const RenderLayer* l |
| if (reasons & CompositingReasonAnimation) |
| return "animation"; |
| + if (reasons & CompositingReasonTransition) |
| + return "transition"; |
| + |
| if (reasons & CompositingReasonFilters) |
| return "filters"; |
| @@ -1842,6 +1849,15 @@ bool RenderLayerCompositor::requiresCompositingForAnimation(RenderObject* render |
| return false; |
| } |
| +bool RenderLayerCompositor::requiresCompositingForTransition(RenderObject* renderer) const |
| +{ |
| + if (!(m_compositingTriggers & ChromeClient::AnimationTrigger)) |
| + return false; |
| + |
| + return renderer->style()->transitionForProperty(CSSPropertyOpacity) |
| + || renderer->style()->transitionForProperty(CSSPropertyWebkitTransform); |
|
shawnsingh
2013/05/15 19:24:43
Would it work to accelerate filter transitions as
ajuma
2013/05/17 17:21:29
Done.
|
| +} |
| + |
| CompositingReasons RenderLayerCompositor::subtreeReasonsForCompositing(RenderObject* renderer, bool hasCompositedDescendants, bool has3DTransformedDescendants) const |
| { |
| CompositingReasons subtreeReasons = CompositingReasonNone; |