| 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;
 | 
| 
 |