Changeset 247350 in webkit


Ignore:
Timestamp:
Jul 11, 2019, 7:09:55 AM (6 years ago)
Author:
Alan Bujtas
Message:

[LFC][IFC] Cleanup InlineFormattingContext::LineLayout class.
https://bugs.webkit.org/show_bug.cgi?id=199702
<rdar://problem/52931733>

Reviewed by Sam Weinig.

Move some structs to .cpp. They don't need to pollute the class declaration.

  • layout/inlineformatting/InlineFormattingContext.h:

(WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const):
(): Deleted.

  • layout/inlineformatting/InlineFormattingContextLineLayout.cpp:

(WebCore::Layout::LineInput::HorizontalConstraint::HorizontalConstraint):
(WebCore::Layout::LineInput::LineInput):
(WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const):
(WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::HorizontalConstraint::HorizontalConstraint): Deleted.
(WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::LineInput): Deleted.

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r247349 r247350  
     12019-07-11  Zalan Bujtas  <[email protected]>
     2
     3        [LFC][IFC] Cleanup InlineFormattingContext::LineLayout class.
     4        https://bugs.webkit.org/show_bug.cgi?id=199702
     5        <rdar://problem/52931733>
     6
     7        Reviewed by Sam Weinig.
     8
     9        Move some structs to .cpp. They don't need to pollute the class declaration.
     10
     11        * layout/inlineformatting/InlineFormattingContext.h:
     12        (WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const):
     13        (): Deleted.
     14        * layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
     15        (WebCore::Layout::LineInput::HorizontalConstraint::HorizontalConstraint):
     16        (WebCore::Layout::LineInput::LineInput):
     17        (WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const):
     18        (WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::HorizontalConstraint::HorizontalConstraint): Deleted.
     19        (WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::LineInput): Deleted.
     20
    1212019-07-11  Joanmarie Diggs  <[email protected]>
    222
  • trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h

    r247299 r247350  
    3939class FloatingState;
    4040class InlineContainer;
     41struct LineContent;
     42struct LineInput;
    4143
    4244// This class implements the layout logic for inline formatting contexts.
     
    5961    private:
    6062        LayoutState& layoutState() const { return m_layoutState; }
    61 
    62         struct InlineIndexAndSplitPosition {
    63             unsigned index { 0 };
    64             Optional<unsigned> splitPosition;
    65         };
    66 
    67         struct LineInput {
    68             LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems&);
    69             struct HorizontalConstraint {
    70                 HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth);
    71 
    72                 LayoutPoint logicalTopLeft;
    73                 LayoutUnit availableLogicalWidth;
    74             };
    75             HorizontalConstraint horizontalConstraint;
    76             // FIXME Alternatively we could just have a second pass with vertical positioning (preferred width computation opts out)
    77             Line::SkipVerticalAligment skipVerticalAligment;
    78             InlineIndexAndSplitPosition firstInlineItem;
    79             const InlineItems& inlineItems;
    80             Optional<LayoutUnit> floatMinimumLogicalBottom;
    81         };
    82 
    83         struct LineContent {
    84             Optional<InlineIndexAndSplitPosition> lastCommitted;
    85             Vector<WeakPtr<InlineItem>> floats;
    86             std::unique_ptr<Line::Content> runs;
    87         };
    8863        LineContent placeInlineItems(const LineInput&) const;
    8964        void createDisplayRuns(const Line::Content&, const Vector<WeakPtr<InlineItem>>& floats, LayoutUnit widthConstraint) const;
  • trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp

    r247299 r247350  
    4242namespace Layout {
    4343
     44struct InlineIndexAndSplitPosition {
     45    unsigned index { 0 };
     46    Optional<unsigned> splitPosition;
     47};
     48
     49struct LineInput {
     50    LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems&);
     51    struct HorizontalConstraint {
     52        HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth);
     53
     54        LayoutPoint logicalTopLeft;
     55        LayoutUnit availableLogicalWidth;
     56    };
     57    HorizontalConstraint horizontalConstraint;
     58    // FIXME Alternatively we could just have a second pass with vertical positioning (preferred width computation opts out)
     59    Line::SkipVerticalAligment skipVerticalAligment;
     60    InlineIndexAndSplitPosition firstInlineItem;
     61    const InlineItems& inlineItems;
     62    Optional<LayoutUnit> floatMinimumLogicalBottom;
     63};
     64
     65struct LineContent {
     66    Optional<InlineIndexAndSplitPosition> lastCommitted;
     67    Vector<WeakPtr<InlineItem>> floats;
     68    std::unique_ptr<Line::Content> runs;
     69};
     70
    4471struct UncommittedContent {
    4572    struct Run {
     
    73100}
    74101
    75 InlineFormattingContext::LineLayout::LineInput::HorizontalConstraint::HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth)
     102LineInput::HorizontalConstraint::HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth)
    76103    : logicalTopLeft(logicalTopLeft)
    77104    , availableLogicalWidth(availableLogicalWidth)
     
    79106}
    80107
    81 InlineFormattingContext::LineLayout::LineInput::LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment skipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems& inlineItems)
     108LineInput::LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment skipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems& inlineItems)
    82109    : horizontalConstraint(logicalTopLeft, availableLogicalWidth)
    83110    , skipVerticalAligment(skipVerticalAligment)
     
    124151}
    125152
    126 InlineFormattingContext::LineLayout::LineContent InlineFormattingContext::LineLayout::placeInlineItems(const LineInput& lineInput) const
     153LineContent InlineFormattingContext::LineLayout::placeInlineItems(const LineInput& lineInput) const
    127154{
    128155    auto initialLineConstraints = Line::InitialConstraints {
Note: See TracChangeset for help on using the changeset viewer.