| Index: Source/core/rendering/RenderBlockFlow.cpp
 | 
| diff --git a/Source/core/rendering/RenderBlockFlow.cpp b/Source/core/rendering/RenderBlockFlow.cpp
 | 
| index 5ee2ccd0d47953db2e13d0d3835a93efee239b03..d4660e152511af74bca7fd1714608c347fb0c8bf 100644
 | 
| --- a/Source/core/rendering/RenderBlockFlow.cpp
 | 
| +++ b/Source/core/rendering/RenderBlockFlow.cpp
 | 
| @@ -361,8 +361,6 @@ void RenderBlockFlow::layoutBlock(bool relayoutChildren)
 | 
|      while (!done)
 | 
|          done = layoutBlockFlow(relayoutChildren, pageLogicalHeight, layoutScope);
 | 
|  
 | 
| -    fitBorderToLinesIfNeeded();
 | 
| -
 | 
|      RenderView* renderView = view();
 | 
|      if (renderView->layoutState()->pageLogicalHeight())
 | 
|          setPageLogicalOffset(renderView->layoutState()->pageLogicalOffset(*this, logicalTop()));
 | 
| @@ -2646,76 +2644,6 @@ bool RenderBlockFlow::hitTestFloats(const HitTestRequest& request, HitTestResult
 | 
|      return false;
 | 
|  }
 | 
|  
 | 
| -void RenderBlockFlow::adjustForBorderFit(LayoutUnit x, LayoutUnit& left, LayoutUnit& right) const
 | 
| -{
 | 
| -    if (style()->visibility() != VISIBLE)
 | 
| -        return;
 | 
| -
 | 
| -    // We don't deal with relative positioning. Our assumption is that you shrink to fit the lines without accounting
 | 
| -    // for either overflow or translations via relative positioning.
 | 
| -    if (childrenInline()) {
 | 
| -        for (RootInlineBox* box = firstRootBox(); box; box = box->nextRootBox()) {
 | 
| -            if (box->firstChild())
 | 
| -                left = std::min(left, x + static_cast<LayoutUnit>(box->firstChild()->x()));
 | 
| -            if (box->lastChild())
 | 
| -                right = std::max(right, x + static_cast<LayoutUnit>(ceilf(box->lastChild()->logicalRight())));
 | 
| -        }
 | 
| -    } else {
 | 
| -        for (RenderBox* obj = firstChildBox(); obj; obj = obj->nextSiblingBox()) {
 | 
| -            if (!obj->isFloatingOrOutOfFlowPositioned()) {
 | 
| -                if (obj->isRenderBlockFlow() && !obj->hasOverflowClip()) {
 | 
| -                    toRenderBlockFlow(obj)->adjustForBorderFit(x + obj->x(), left, right);
 | 
| -                } else if (obj->style()->visibility() == VISIBLE) {
 | 
| -                    // We are a replaced element or some kind of non-block-flow object.
 | 
| -                    left = std::min(left, x + obj->x());
 | 
| -                    right = std::max(right, x + obj->x() + obj->width());
 | 
| -                }
 | 
| -            }
 | 
| -        }
 | 
| -    }
 | 
| -
 | 
| -    if (m_floatingObjects) {
 | 
| -        const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set();
 | 
| -        FloatingObjectSetIterator end = floatingObjectSet.end();
 | 
| -        for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++it) {
 | 
| -            FloatingObject* floatingObject = it->get();
 | 
| -            // Only examine the object if our m_shouldPaint flag is set.
 | 
| -            if (floatingObject->shouldPaint()) {
 | 
| -                LayoutUnit floatLeft = xPositionForFloatIncludingMargin(floatingObject) - floatingObject->renderer()->x();
 | 
| -                LayoutUnit floatRight = floatLeft + floatingObject->renderer()->width();
 | 
| -                left = std::min(left, floatLeft);
 | 
| -                right = std::max(right, floatRight);
 | 
| -            }
 | 
| -        }
 | 
| -    }
 | 
| -}
 | 
| -
 | 
| -void RenderBlockFlow::fitBorderToLinesIfNeeded()
 | 
| -{
 | 
| -    if (style()->borderFit() == BorderFitBorder || hasOverrideWidth())
 | 
| -        return;
 | 
| -
 | 
| -    // Walk any normal flow lines to snugly fit.
 | 
| -    LayoutUnit left = LayoutUnit::max();
 | 
| -    LayoutUnit right = LayoutUnit::min();
 | 
| -    LayoutUnit oldWidth = contentWidth();
 | 
| -    adjustForBorderFit(0, left, right);
 | 
| -
 | 
| -    // Clamp to our existing edges. We can never grow. We only shrink.
 | 
| -    LayoutUnit leftEdge = borderLeft() + paddingLeft();
 | 
| -    LayoutUnit rightEdge = leftEdge + oldWidth;
 | 
| -    left = std::min(rightEdge, std::max(leftEdge, left));
 | 
| -    right = std::max(left, std::min(rightEdge, right));
 | 
| -
 | 
| -    LayoutUnit newContentWidth = right - left;
 | 
| -    if (newContentWidth == oldWidth)
 | 
| -        return;
 | 
| -
 | 
| -    setOverrideLogicalContentWidth(newContentWidth);
 | 
| -    layoutBlock(false);
 | 
| -    clearOverrideLogicalContentWidth();
 | 
| -}
 | 
| -
 | 
|  LayoutUnit RenderBlockFlow::logicalLeftFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedOffset, LayoutUnit logicalHeight) const
 | 
|  {
 | 
|      if (m_floatingObjects && m_floatingObjects->hasLeftObjects())
 | 
| 
 |