| Index: Source/core/layout/LayoutBlockFlow.h
|
| diff --git a/Source/core/layout/LayoutBlockFlow.h b/Source/core/layout/LayoutBlockFlow.h
|
| index 7f6bfd4f34260c109df8dba10a066ea68c064a94..49a7840259d6ed1f03abbd707e759c6ae1349f11 100644
|
| --- a/Source/core/layout/LayoutBlockFlow.h
|
| +++ b/Source/core/layout/LayoutBlockFlow.h
|
| @@ -239,6 +239,21 @@ public:
|
|
|
| virtual const char* name() const override { return "LayoutBlockFlow"; }
|
|
|
| + FloatingObject* insertFloatingObject(LayoutBox&);
|
| +
|
| + // Called from lineWidth, to position the floats added in the last line.
|
| + // Returns true if and only if it has positioned any floats.
|
| + bool positionNewFloats(LineWidth* = nullptr);
|
| +
|
| + bool positionNewFloatOnLine(FloatingObject& newFloat, FloatingObject* lastFloatFromPreviousLine, LineInfo&, LineWidth&);
|
| +
|
| + LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit, ShapeOutsideFloatOffsetMode = ShapeOutsideFloatMarginBoxOffset) const;
|
| +
|
| + FloatingObject* lastFloatFromPreviousLine() const
|
| + {
|
| + return containsFloats() ? m_floatingObjects->set().last().get() : nullptr;
|
| + }
|
| +
|
| protected:
|
| void rebuildFloatsFromIntruding();
|
| void layoutInlineChildren(bool relayoutChildren, LayoutUnit& paintInvalidationLogicalTop, LayoutUnit& paintInvalidationLogicalBottom, LayoutUnit afterEdge);
|
| @@ -279,14 +294,9 @@ private:
|
|
|
| LayoutPoint computeLogicalLocationForFloat(const FloatingObject&, LayoutUnit logicalTopOffset) const;
|
|
|
| - FloatingObject* insertFloatingObject(LayoutBox&);
|
| void removeFloatingObject(LayoutBox*);
|
| void removeFloatingObjectsBelow(FloatingObject*, int logicalOffset);
|
|
|
| - // Called from lineWidth, to position the floats added in the last line.
|
| - // Returns true if and only if it has positioned any floats.
|
| - bool positionNewFloats(LineWidth* = nullptr);
|
| -
|
| LayoutUnit getClearDelta(LayoutBox* child, LayoutUnit yPos);
|
|
|
| bool hasOverhangingFloats() { return parent() && containsFloats() && lowestFloatLogicalBottom() > logicalHeight(); }
|
| @@ -295,7 +305,6 @@ private:
|
| void addOverhangingFloats(LayoutBlockFlow* child, bool makeChildPaintOtherFloats);
|
|
|
| LayoutUnit lowestFloatLogicalBottom(FloatingObject::Type = FloatingObject::FloatLeftRight) const;
|
| - LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit, ShapeOutsideFloatOffsetMode = ShapeOutsideFloatMarginBoxOffset) const;
|
|
|
| virtual bool hitTestFloats(HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset) override final;
|
|
|
| @@ -496,7 +505,6 @@ protected:
|
| OwnPtr<LayoutBlockFlowRareData> m_rareData;
|
| OwnPtr<FloatingObjects> m_floatingObjects;
|
|
|
| - friend class BreakingContext; // FIXME: It uses insertFloatingObject and positionNewFloatOnLine, if we move those out from the private scope/add a helper to LineBreaker, we can remove this friend
|
| friend class MarginInfo;
|
| friend class LineBreaker;
|
| friend class LineWidth; // needs to know FloatingObject
|
| @@ -532,7 +540,6 @@ private:
|
| void checkLinesForTextOverflow();
|
| // Positions new floats and also adjust all floats encountered on the line if any of them
|
| // have to move to the next page/column.
|
| - bool positionNewFloatOnLine(FloatingObject& newFloat, FloatingObject* lastFloatFromPreviousLine, LineInfo&, LineWidth&);
|
| void positionDialog();
|
|
|
| // END METHODS DEFINED IN LayoutBlockFlowLine
|
|
|