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