| Index: third_party/WebKit/Source/core/layout/FragmentainerIterator.h
|
| diff --git a/third_party/WebKit/Source/core/layout/FragmentainerIterator.h b/third_party/WebKit/Source/core/layout/FragmentainerIterator.h
|
| index 43a6a07ccc94193f048801b527345f671c109204..e5afcff87b2d5591e1ea15e920f2b5c0c2ddde33 100644
|
| --- a/third_party/WebKit/Source/core/layout/FragmentainerIterator.h
|
| +++ b/third_party/WebKit/Source/core/layout/FragmentainerIterator.h
|
| @@ -16,7 +16,11 @@ class MultiColumnFragmentainerGroup;
|
| // in block direction order.
|
| class FragmentainerIterator {
|
| public:
|
| - FragmentainerIterator(const LayoutFlowThread&, const LayoutRect& physicalBoundingBoxInFlowThread, const LayoutRect& clipRectInMulticolContainer);
|
| + // Initialize the iterator, and move to the first fragmentainer of interest.
|
| + // The clip rectangle is optional. If it's empty, it means that no clipping will be performed,
|
| + // and that the only thing that can limit the set of fragmentainers to visit is
|
| + // |physicalBoundingBox|.
|
| + FragmentainerIterator(const LayoutFlowThread&, const LayoutRect& physicalBoundingBoxInFlowThread, const LayoutRect& clipRectInMulticolContainer = LayoutRect());
|
|
|
| // Advance to the next fragmentainer. Not allowed to call this if atEnd() is true.
|
| void advance();
|
| @@ -26,10 +30,13 @@ public:
|
|
|
| // The physical translation to apply to shift the box when converting from flowthread to visual
|
| // coordinates.
|
| - LayoutSize paginationOffset() const { DCHECK(!atEnd()); return m_paginationOffset; }
|
| + LayoutSize paginationOffset() const;
|
| +
|
| + // Return the physical content box of the current fragmentainer, relative to the flow thread.
|
| + LayoutRect fragmentainerInFlowThread() const;
|
|
|
| // Return the physical clip rectangle of the current fragmentainer, relative to the flow thread.
|
| - LayoutRect clipRectInFlowThread() const { DCHECK(!atEnd()); return m_clipRectInFlowThread; }
|
| + LayoutRect clipRectInFlowThread() const;
|
|
|
| private:
|
| const LayoutFlowThread& m_flowThread;
|
| @@ -43,14 +50,11 @@ private:
|
| LayoutUnit m_logicalTopInFlowThread;
|
| LayoutUnit m_logicalBottomInFlowThread;
|
|
|
| - LayoutSize m_paginationOffset;
|
| - LayoutRect m_clipRectInFlowThread;
|
| -
|
| const MultiColumnFragmentainerGroup& currentGroup() const;
|
| void moveToNextFragmentainerGroup();
|
| bool setFragmentainersOfInterest();
|
| - void updateOutput();
|
| void setAtEnd() { m_currentColumnSet = nullptr; }
|
| + bool hasClipRect() const { return !m_clipRectInMulticolContainer.isEmpty(); }
|
| };
|
|
|
| } // namespace blink
|
|
|