Kill InlineFlowBox::rendererLineBoxes().
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Nov 2013 10:33:12 +0000 (10:33 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Nov 2013 10:33:12 +0000 (10:33 +0000)
<https://webkit.org/b/124141>

We only ever used this to access the RenderLineBoxList for non-root
boxes, and those always have a RenderInline renderer.

Tighten things up by losing the virtual rendererLineBoxes() and
calling RenderInline::lineBoxes() directly.

Reviewed by Antti Koivisto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@159049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/rendering/InlineFlowBox.cpp
Source/WebCore/rendering/InlineFlowBox.h
Source/WebCore/rendering/RootInlineBox.cpp
Source/WebCore/rendering/RootInlineBox.h

index aa5bcff..c67263c 100644 (file)
@@ -1,5 +1,18 @@
 2013-11-11  Andreas Kling  <akling@apple.com>
 
+        Kill InlineFlowBox::rendererLineBoxes().
+        <https://webkit.org/b/124141>
+
+        We only ever used this to access the RenderLineBoxList for non-root
+        boxes, and those always have a RenderInline renderer.
+
+        Tighten things up by losing the virtual rendererLineBoxes() and
+        calling RenderInline::lineBoxes() directly.
+
+        Reviewed by Antti Koivisto.
+
+2013-11-11  Andreas Kling  <akling@apple.com>
+
         Bring the LineFragmentationData back to RootInlineBox.
         <https://webkit.org/b/124136>
 
index 17d0930..0cc00b4 100644 (file)
@@ -261,11 +261,6 @@ void InlineFlowBox::adjustPosition(float dx, float dy)
         m_overflow->move(dx, dy); // FIXME: Rounding error here since overflow was pixel snapped, but nobody other than list markers passes non-integral values here.
 }
 
-RenderLineBoxList& InlineFlowBox::rendererLineBoxes() const
-{
-    return toRenderInline(renderer()).lineBoxes();
-}
-
 static inline bool isLastChildForRenderer(const RenderElement& ancestor, const RenderObject* child)
 {
     if (!child)
@@ -309,11 +304,13 @@ void InlineFlowBox::determineSpacingForFlowBoxes(bool lastLine, bool isLogically
 
     // The root inline box never has borders/margins/padding.
     if (parent()) {
+        const auto& inlineFlow = toRenderInline(renderer());
+
         bool ltr = renderer().style().isLeftToRightDirection();
 
         // Check to see if all initial lines are unconstructed.  If so, then
         // we know the inline began on this line (unless we are a continuation).
-        RenderLineBoxList& lineBoxList = rendererLineBoxes();
+        const auto& lineBoxList = inlineFlow.lineBoxes();
         if (!lineBoxList.firstLineBox()->isConstructed() && !renderer().isInlineElementContinuation()) {
 #if ENABLE(CSS_BOX_DECORATION_BREAK)
             if (renderer().style().boxDecorationBreak() == DCLONE)
@@ -327,7 +324,6 @@ void InlineFlowBox::determineSpacingForFlowBoxes(bool lastLine, bool isLogically
         }
 
         if (!lineBoxList.lastLineBox()->isConstructed()) {
-            RenderInline& inlineFlow = toRenderInline(renderer());
             bool isLastObjectOnLine = !isAncestorAndWithinBlock(inlineFlow, logicallyLastRunRenderer) || (isLastChildForRenderer(renderer(), logicallyLastRunRenderer) && !isLogicallyLastRunWrapped);
 
             // We include the border under these conditions:
index b0d02f0..7018ba8 100644 (file)
@@ -123,8 +123,6 @@ public:
 
     bool boxShadowCanBeAppliedToBackground(const FillLayer&) const;
 
-    virtual RenderLineBoxList& rendererLineBoxes() const;
-
     // logicalLeft = left in a horizontal line and top in a vertical line.
     LayoutUnit marginBorderPaddingLogicalLeft() const { return marginLogicalLeft() + borderLogicalLeft() + paddingLogicalLeft(); }
     LayoutUnit marginBorderPaddingLogicalRight() const { return marginLogicalRight() + borderLogicalRight() + paddingLogicalRight(); }
index a9e3af7..a631d8f 100644 (file)
@@ -72,11 +72,6 @@ void RootInlineBox::detachEllipsisBox()
     }
 }
 
-RenderLineBoxList& RootInlineBox::rendererLineBoxes() const
-{
-    return blockFlow().lineBoxes();
-}
-
 void RootInlineBox::clearTruncation()
 {
     if (hasEllipsisBox()) {
index c8cb607..ab4c14f 100644 (file)
@@ -85,8 +85,6 @@ public:
         m_lineBottomWithLeading = bottomWithLeading;
     }
 
-    virtual RenderLineBoxList& rendererLineBoxes() const OVERRIDE FINAL;
-
     RenderObject* lineBreakObj() const { return m_lineBreakObj; }
     BidiStatus lineBreakBidiStatus() const;
     void setLineBreakInfo(RenderObject*, unsigned breakPos, const BidiStatus&);