| Index: Source/core/rendering/RenderLayerBacking.cpp
|
| diff --git a/Source/core/rendering/RenderLayerBacking.cpp b/Source/core/rendering/RenderLayerBacking.cpp
|
| index c8991f2d9336feb4445947209752fb0aaca135c8..6967365b0bd7d7ee329fbe8b8d46b669bf5fb7ae 100644
|
| --- a/Source/core/rendering/RenderLayerBacking.cpp
|
| +++ b/Source/core/rendering/RenderLayerBacking.cpp
|
| @@ -248,7 +248,7 @@ void RenderLayerBacking::updateTransform(const RenderStyle* style)
|
| // baked into it, and we don't want that.
|
| TransformationMatrix t;
|
| if (m_owningLayer->hasTransform()) {
|
| - style->applyTransform(t, toRenderBox(renderer())->pixelSnappedBorderBoxRect().size(), RenderStyle::ExcludeTransformOrigin);
|
| + style->applyTransform(t, toRenderBox(renderer())->pixelSnappedBorderBoxRect().size(), RenderStyle::ExcludeTransformOrigin, renderer()->view());
|
| makeMatrixRenderable(t, compositor()->canRender3DTransforms());
|
| }
|
|
|
| @@ -1728,14 +1728,15 @@ bool RenderLayerBacking::startAnimation(double timeOffset, const CSSAnimationDat
|
| }
|
|
|
| bool didAnimate = false;
|
| + RenderView* view = m_owningLayer->renderer()->view();
|
|
|
| - if (hasTransform && m_graphicsLayer->addAnimation(transformVector, toRenderBox(renderer())->pixelSnappedBorderBoxRect().size(), anim, keyframes.animationName(), timeOffset))
|
| + if (hasTransform && m_graphicsLayer->addAnimation(transformVector, toRenderBox(renderer())->pixelSnappedBorderBoxRect().size(), anim, keyframes.animationName(), timeOffset, view))
|
| didAnimate = true;
|
|
|
| - if (hasOpacity && m_graphicsLayer->addAnimation(opacityVector, IntSize(), anim, keyframes.animationName(), timeOffset))
|
| + if (hasOpacity && m_graphicsLayer->addAnimation(opacityVector, IntSize(), anim, keyframes.animationName(), timeOffset, view))
|
| didAnimate = true;
|
|
|
| - if (hasFilter && m_graphicsLayer->addAnimation(filterVector, IntSize(), anim, keyframes.animationName(), timeOffset))
|
| + if (hasFilter && m_graphicsLayer->addAnimation(filterVector, IntSize(), anim, keyframes.animationName(), timeOffset, view))
|
| didAnimate = true;
|
|
|
| return didAnimate;
|
| @@ -1754,6 +1755,7 @@ void RenderLayerBacking::animationFinished(const String& animationName)
|
| bool RenderLayerBacking::startTransition(double timeOffset, CSSPropertyID property, const RenderStyle* fromStyle, const RenderStyle* toStyle)
|
| {
|
| bool didAnimate = false;
|
| + RenderView* view = m_owningLayer->renderer()->view();
|
|
|
| ASSERT(property != CSSPropertyInvalid);
|
|
|
| @@ -1764,7 +1766,7 @@ bool RenderLayerBacking::startTransition(double timeOffset, CSSPropertyID proper
|
| opacityVector.insert(adoptPtr(new FloatAnimationValue(0, compositingOpacity(fromStyle->opacity()))));
|
| opacityVector.insert(adoptPtr(new FloatAnimationValue(1, compositingOpacity(toStyle->opacity()))));
|
| // The boxSize param is only used for transform animations (which can only run on RenderBoxes), so we pass an empty size here.
|
| - if (m_graphicsLayer->addAnimation(opacityVector, IntSize(), opacityAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyOpacity), timeOffset)) {
|
| + if (m_graphicsLayer->addAnimation(opacityVector, IntSize(), opacityAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyOpacity), timeOffset, view)) {
|
| // To ensure that the correct opacity is visible when the animation ends, also set the final opacity.
|
| updateOpacity(toStyle);
|
| didAnimate = true;
|
| @@ -1778,7 +1780,7 @@ bool RenderLayerBacking::startTransition(double timeOffset, CSSPropertyID proper
|
| KeyframeValueList transformVector(AnimatedPropertyWebkitTransform);
|
| transformVector.insert(adoptPtr(new TransformAnimationValue(0, &fromStyle->transform())));
|
| transformVector.insert(adoptPtr(new TransformAnimationValue(1, &toStyle->transform())));
|
| - if (m_graphicsLayer->addAnimation(transformVector, toRenderBox(renderer())->pixelSnappedBorderBoxRect().size(), transformAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyWebkitTransform), timeOffset)) {
|
| + if (m_graphicsLayer->addAnimation(transformVector, toRenderBox(renderer())->pixelSnappedBorderBoxRect().size(), transformAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyWebkitTransform), timeOffset, view)) {
|
| // To ensure that the correct transform is visible when the animation ends, also set the final transform.
|
| updateTransform(toStyle);
|
| didAnimate = true;
|
| @@ -1792,7 +1794,7 @@ bool RenderLayerBacking::startTransition(double timeOffset, CSSPropertyID proper
|
| KeyframeValueList filterVector(AnimatedPropertyWebkitFilter);
|
| filterVector.insert(adoptPtr(new FilterAnimationValue(0, &fromStyle->filter())));
|
| filterVector.insert(adoptPtr(new FilterAnimationValue(1, &toStyle->filter())));
|
| - if (m_graphicsLayer->addAnimation(filterVector, IntSize(), filterAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyWebkitFilter), timeOffset)) {
|
| + if (m_graphicsLayer->addAnimation(filterVector, IntSize(), filterAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyWebkitFilter), timeOffset, view)) {
|
| // To ensure that the correct filter is visible when the animation ends, also set the final filter.
|
| updateFilters(toStyle);
|
| didAnimate = true;
|
|
|