| Index: third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
 | 
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
 | 
| index 3cf9c29073131c37b32e3e797e6b6b4b05d36186..e595ef03b990b9278112bd838c9a1d6f5a2c759e 100644
 | 
| --- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
 | 
| +++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
 | 
| @@ -976,14 +976,23 @@ const LayoutObject* LayoutBoxModelObject::pushMappingToContainer(const LayoutBox
 | 
|      LayoutSize containerOffset = offsetFromContainer(container, LayoutPoint(), &offsetDependsOnPoint);
 | 
|  
 | 
|      bool preserve3D = container->style()->preserves3D() || style()->preserves3D();
 | 
| +    GeometryInfoFlags flags = 0;
 | 
| +    if (preserve3D)
 | 
| +        flags |= AccumulatingTransform;
 | 
| +    if (offsetDependsOnPoint)
 | 
| +        flags |= IsNonUniform;
 | 
| +    if (isFixedPos)
 | 
| +        flags |= IsFixedPosition;
 | 
| +    if (hasTransform)
 | 
| +        flags |= HasTransform;
 | 
|      if (shouldUseTransformFromContainer(container)) {
 | 
|          TransformationMatrix t;
 | 
|          getTransformFromContainer(container, containerOffset, t);
 | 
|          t.translateRight(adjustmentForSkippedAncestor.width().toFloat(), adjustmentForSkippedAncestor.height().toFloat());
 | 
| -        geometryMap.push(this, t, preserve3D, offsetDependsOnPoint, isFixedPos, hasTransform);
 | 
| +        geometryMap.push(this, t, flags);
 | 
|      } else {
 | 
|          containerOffset += adjustmentForSkippedAncestor;
 | 
| -        geometryMap.push(this, containerOffset, preserve3D, offsetDependsOnPoint, isFixedPos, hasTransform);
 | 
| +        geometryMap.push(this, containerOffset, flags);
 | 
|      }
 | 
|  
 | 
|      return ancestorSkipped ? ancestorToStopAt : container;
 | 
| 
 |