| Index: third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp | 
| diff --git a/third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp b/third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp | 
| index 989d93ade5b931da4d7d54a6beb988c1c6ba09c8..9c55011fd10d037355ccbe7e0b74509159f730f1 100644 | 
| --- a/third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp | 
| +++ b/third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp | 
| @@ -190,9 +190,9 @@ void LayoutGeometryMap::pushMappingsToAncestor( | 
| isTopmostLayoutView(m_mapping[0].m_layoutObject)); | 
| } | 
|  | 
| -static bool canMapBetweenLayoutObjects(const LayoutObject* layoutObject, | 
| -                                       const LayoutObject* ancestor) { | 
| -  for (const LayoutObject* current = layoutObject;; | 
| +static bool canMapBetweenLayoutObjects(const LayoutObject& layoutObject, | 
| +                                       const LayoutObject& ancestor) { | 
| +  for (const LayoutObject* current = &layoutObject;; | 
| current = current->parent()) { | 
| const ComputedStyle& style = current->styleRef(); | 
| if (style.position() == EPosition::kFixed || | 
| @@ -203,7 +203,7 @@ static bool canMapBetweenLayoutObjects(const LayoutObject* layoutObject, | 
| current->isLayoutFlowThread() || current->isSVGRoot()) | 
| return false; | 
|  | 
| -    if (current == ancestor) | 
| +    if (current == &ancestor) | 
| break; | 
|  | 
| if (current->isFloatingWithNonContainingBlockParent()) | 
| @@ -216,18 +216,18 @@ static bool canMapBetweenLayoutObjects(const LayoutObject* layoutObject, | 
| void LayoutGeometryMap::pushMappingsToAncestor( | 
| const PaintLayer* layer, | 
| const PaintLayer* ancestorLayer) { | 
| -  const LayoutObject* layoutObject = layer->layoutObject(); | 
| +  const LayoutObject& layoutObject = layer->layoutObject(); | 
|  | 
| bool crossDocument = | 
| ancestorLayer && | 
| -      layer->layoutObject()->frame() != ancestorLayer->layoutObject()->frame(); | 
| +      layoutObject.frame() != ancestorLayer->layoutObject().frame(); | 
| ASSERT(!crossDocument || m_mapCoordinatesFlags & TraverseDocumentBoundaries); | 
|  | 
| // We have to visit all the layoutObjects to detect flipped blocks. This might | 
| // defeat the gains from mapping via layers. | 
| bool canConvertInLayerTree = | 
| (ancestorLayer && !crossDocument) | 
| -          ? canMapBetweenLayoutObjects(layer->layoutObject(), | 
| +          ? canMapBetweenLayoutObjects(layoutObject, | 
| ancestorLayer->layoutObject()) | 
| : false; | 
|  | 
| @@ -242,21 +242,21 @@ void LayoutGeometryMap::pushMappingsToAncestor( | 
|  | 
| // The LayoutView must be pushed first. | 
| if (!m_mapping.size()) { | 
| -      ASSERT(ancestorLayer->layoutObject()->isLayoutView()); | 
| -      pushMappingsToAncestor(ancestorLayer->layoutObject(), 0); | 
| +      DCHECK(ancestorLayer->layoutObject().isLayoutView()); | 
| +      pushMappingsToAncestor(&ancestorLayer->layoutObject(), 0); | 
| } | 
|  | 
| AutoReset<size_t> positionChange(&m_insertionPosition, m_mapping.size()); | 
| bool accumulatingTransform = | 
| -        layer->layoutObject()->style()->preserves3D() || | 
| -        ancestorLayer->layoutObject()->style()->preserves3D(); | 
| -    push(layoutObject, toLayoutSize(layerOffset), | 
| +        layoutObject.style()->preserves3D() || | 
| +        ancestorLayer->layoutObject().style()->preserves3D(); | 
| +    push(&layoutObject, toLayoutSize(layerOffset), | 
| accumulatingTransform ? AccumulatingTransform : 0); | 
| return; | 
| } | 
| const LayoutBoxModelObject* ancestorLayoutObject = | 
| -      ancestorLayer ? ancestorLayer->layoutObject() : 0; | 
| -  pushMappingsToAncestor(layoutObject, ancestorLayoutObject); | 
| +      ancestorLayer ? &ancestorLayer->layoutObject() : 0; | 
| +  pushMappingsToAncestor(&layoutObject, ancestorLayoutObject); | 
| } | 
|  | 
| void LayoutGeometryMap::push(const LayoutObject* layoutObject, | 
| @@ -328,7 +328,7 @@ void LayoutGeometryMap::popMappingsToAncestor( | 
|  | 
| void LayoutGeometryMap::popMappingsToAncestor(const PaintLayer* ancestorLayer) { | 
| const LayoutBoxModelObject* ancestorLayoutObject = | 
| -      ancestorLayer ? ancestorLayer->layoutObject() : 0; | 
| +      ancestorLayer ? &ancestorLayer->layoutObject() : 0; | 
| popMappingsToAncestor(ancestorLayoutObject); | 
| } | 
|  | 
|  |