| Index: Source/core/rendering/RenderFlexibleBox.cpp
 | 
| diff --git a/Source/core/rendering/RenderFlexibleBox.cpp b/Source/core/rendering/RenderFlexibleBox.cpp
 | 
| index 71cf04a3b368ab1f2f0d151c8e07230c948675bf..e331b5dea59c7dc39c0c7b1ffe9d7b063aa5044e 100644
 | 
| --- a/Source/core/rendering/RenderFlexibleBox.cpp
 | 
| +++ b/Source/core/rendering/RenderFlexibleBox.cpp
 | 
| @@ -611,7 +611,7 @@
 | 
|  
 | 
|  LayoutUnit RenderFlexibleBox::preferredMainAxisContentExtentForChild(RenderBox& child, bool hasInfiniteLineLength, bool relayoutChildren)
 | 
|  {
 | 
| -    clearLogicalOverrideSize(child);
 | 
| +    child.clearOverrideSize();
 | 
|  
 | 
|      if (child.style()->hasAspectRatio() || child.isImage() || child.isVideo() || child.isCanvas())
 | 
|          UseCounter::count(document(), UseCounter::AspectRatioFlexItem);
 | 
| @@ -991,14 +991,6 @@
 | 
|          child.setOverrideLogicalContentHeight(childPreferredSize - child.borderAndPaddingLogicalHeight());
 | 
|      else
 | 
|          child.setOverrideLogicalContentWidth(childPreferredSize - child.borderAndPaddingLogicalWidth());
 | 
| -}
 | 
| -
 | 
| -void RenderFlexibleBox::clearLogicalOverrideSize(RenderBox& child)
 | 
| -{
 | 
| -    if (hasOrthogonalFlow(child))
 | 
| -        child.clearOverrideLogicalContentHeight();
 | 
| -    else
 | 
| -        child.clearOverrideLogicalContentWidth();
 | 
|  }
 | 
|  
 | 
|  void RenderFlexibleBox::prepareChildForPositionedLayout(RenderBox& child, LayoutUnit mainAxisOffset, LayoutUnit crossAxisOffset, PositionedLayoutMode layoutMode)
 | 
| @@ -1361,11 +1353,10 @@
 | 
|              LayoutUnit stretchedLogicalHeight = heightBeforeStretching + availableAlignmentSpaceForChildBeforeStretching(lineCrossAxisExtent, child);
 | 
|              ASSERT(!child.needsLayout());
 | 
|              LayoutUnit desiredLogicalHeight = child.constrainLogicalHeightByMinMax(stretchedLogicalHeight, heightBeforeStretching - child.borderAndPaddingLogicalHeight());
 | 
| -            LayoutUnit desiredLogicalContentHeight = desiredLogicalHeight - child.borderAndPaddingLogicalHeight();
 | 
|  
 | 
|              // FIXME: Can avoid laying out here in some cases. See https://webkit.org/b/87905.
 | 
| -            if (desiredLogicalHeight != child.logicalHeight() || !child.hasOverrideHeight() || desiredLogicalContentHeight != child.overrideLogicalContentHeight()) {
 | 
| -                child.setOverrideLogicalContentHeight(desiredLogicalContentHeight);
 | 
| +            if (desiredLogicalHeight != child.logicalHeight()) {
 | 
| +                child.setOverrideLogicalContentHeight(desiredLogicalHeight - child.borderAndPaddingLogicalHeight());
 | 
|                  child.setLogicalHeight(0);
 | 
|                  child.forceChildLayout();
 | 
|              }
 | 
| 
 |