⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 290127 in webkit


Ignore:
Timestamp:
Feb 18, 2022, 8:30:58 AM (5 years ago)
Author:
Alan Bujtas
Message:

[LFC][Integration] Add missing LineIteratorModernPath::isHorizontal implementation
​https://bugs.webkit.org/show_bug.cgi?id=236835

Reviewed by Antti Koivisto.

isHorizontal value comes from the root inline box's writing mode.

  • layout/formattingContexts/inline/InlineLineBox.h:

(WebCore::Layout::LineBox::isHorizontal const):

  • layout/formattingContexts/inline/display/InlineDisplayLine.h:

(WebCore::InlineDisplay::Line::isHorizontal const):
(WebCore::InlineDisplay::Line::Line):

  • layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:

(WebCore::Layout::InlineDisplayLineBuilder::build const):

  • layout/integration/InlineIteratorLineModernPath.h:

(WebCore::InlineIterator::LineIteratorModernPath::isHorizontal const):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):

  • layout/integration/LayoutIntegrationLine.h:

(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::isHorizontal const):

  • layout/integration/LayoutIntegrationPagination.cpp:

(WebCore::LayoutIntegration::makeAdjustedContent):

Location:
trunk/Source/WebCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r290125 r290127  
     12022-02-18  Alan Bujtas  <zalan@apple.com>
     2
     3        [LFC][Integration] Add missing LineIteratorModernPath::isHorizontal implementation
     4        https://bugs.webkit.org/show_bug.cgi?id=236835
     5
     6        Reviewed by Antti Koivisto.
     7
     8        isHorizontal value comes from the root inline box's writing mode.
     9
     10        * layout/formattingContexts/inline/InlineLineBox.h:
     11        (WebCore::Layout::LineBox::isHorizontal const):
     12        * layout/formattingContexts/inline/display/InlineDisplayLine.h:
     13        (WebCore::InlineDisplay::Line::isHorizontal const):
     14        (WebCore::InlineDisplay::Line::Line):
     15        * layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
     16        (WebCore::Layout::InlineDisplayLineBuilder::build const):
     17        * layout/integration/InlineIteratorLineModernPath.h:
     18        (WebCore::InlineIterator::LineIteratorModernPath::isHorizontal const):
     19        * layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
     20        (WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
     21        * layout/integration/LayoutIntegrationLine.h:
     22        (WebCore::LayoutIntegration::Line::Line):
     23        (WebCore::LayoutIntegration::Line::isHorizontal const):
     24        * layout/integration/LayoutIntegrationPagination.cpp:
     25        (WebCore::LayoutIntegration::makeAdjustedContent):
     26
    1272022-02-18  Antoine Quint  <graouts@webkit.org>
    228
  • trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBox.h

    r289425 r290127  
    8282    InlineLayoutUnit rootInlineBoxAlignmentOffset() const { return m_rootInlineBoxAlignmentOffset; }
    8383    FontBaseline baselineType() const { return m_baselineType; }
     84    bool isHorizontal() const { return m_rootInlineBox.layoutBox().style().isHorizontalWritingMode(); }
    8485
    8586    const InlineRect& logicalRect() const { return m_logicalRect; }
  • trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h

    r289471 r290127  
    4242        float bottom { 0 };
    4343    };
    44     Line(const FloatRect& lineBoxRect, const FloatRect& scrollableOverflow, EnclosingTopAndBottom, float aligmentBaseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth);
     44    Line(const FloatRect& lineBoxRect, const FloatRect& scrollableOverflow, EnclosingTopAndBottom, float aligmentBaseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth, bool isHorizontal);
    4545
    4646    float left() const { return m_lineBoxRect.x(); }
    … …  
    5858    float baseline() const { return m_aligmentBaseline; }
    5959    FontBaseline baselineType() const { return m_baselineType; }
     60
     61    bool isHorizontal() const { return m_isHorizontal; }
    6062
    6163    float contentLogicalOffset() const { return m_contentLogicalOffset; }
    … …  
    7678    float m_contentLogicalWidth { 0 };
    7779    FontBaseline m_baselineType { AlphabeticBaseline };
     80    bool m_isHorizontal { true };
    7881};
    7982
    80 inline Line::Line(const FloatRect& lineBoxRect, const FloatRect& scrollableOverflow, EnclosingTopAndBottom enclosingTopAndBottom, float aligmentBaseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth)
     83inline Line::Line(const FloatRect& lineBoxRect, const FloatRect& scrollableOverflow, EnclosingTopAndBottom enclosingTopAndBottom, float aligmentBaseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth, bool isHorizontal)
    8184    : m_lineBoxRect(lineBoxRect)
    8285    , m_scrollableOverflow(scrollableOverflow)
    … …  
    8689    , m_contentLogicalWidth(contentLogicalWidth)
    8790    , m_baselineType(baselineType)
     91    , m_isHorizontal(isHorizontal)
    8892{
    8993}
  • trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp

    r289425 r290127  
    104104        , contentVisualLeft
    105105        , rootInlineBox.logicalWidth()
     106        , lineBox.isHorizontal()
    106107    };
    107108}
  • trunk/Source/WebCore/layout/integration/InlineIteratorLineModernPath.h

    r289471 r290127  
    6767    float y() const { return lineBoxTop(); }
    6868    float logicalHeight() const { return lineBoxBottom() - lineBoxTop(); }
    69     bool isHorizontal() const { return true; }
     69    bool isHorizontal() const { return line().isHorizontal(); }
    7070    FontBaseline baselineType() const { return line().baselineType(); }
    7171
  • trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp

    r289471 r290127  
    138138
    139139        auto boxCount = boxIndex - firstBoxIndex;
    140         inlineContent.lines.append({ firstBoxIndex, boxCount, FloatRect { line.lineBoxRect() }, line.enclosingTopAndBottom().top, line.enclosingTopAndBottom().bottom, scrollableOverflowRect, lineInkOverflowRect, line.baseline(), line.baselineType(), line.contentLogicalOffset(), line.contentLogicalWidth() });
     140        inlineContent.lines.append({ firstBoxIndex, boxCount, FloatRect { line.lineBoxRect() }, line.enclosingTopAndBottom().top, line.enclosingTopAndBottom().bottom, scrollableOverflowRect, lineInkOverflowRect, line.baseline(), line.baselineType(), line.contentLogicalOffset(), line.contentLogicalWidth(), line.isHorizontal() });
    141141    }
    142142}
  • trunk/Source/WebCore/layout/integration/LayoutIntegrationLine.h

    r289897 r290127  
    3737    WTF_MAKE_FAST_ALLOCATED;
    3838public:
    39     Line(size_t firstBoxIndex, size_t boxCount, const FloatRect& lineBoxRect, float enclosingContentTop, float enclosingContentBottom, const FloatRect& scrollableOverflow, const FloatRect& inkOverflow, float baseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth)
     39    Line(size_t firstBoxIndex, size_t boxCount, const FloatRect& lineBoxRect, float enclosingContentTop, float enclosingContentBottom, const FloatRect& scrollableOverflow, const FloatRect& inkOverflow, float baseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth, bool isHorizontal)
    4040        : m_firstBoxIndex(firstBoxIndex)
    4141        , m_boxCount(boxCount)
    … …  
    4949        , m_contentLogicalWidth(contentLogicalWidth)
    5050        , m_baselineType(baselineType)
     51        , m_isHorizontal(isHorizontal)
    5152    {
    5253    }
    … …  
    7172    FontBaseline baselineType() const { return m_baselineType; }
    7273
     74    bool isHorizontal() const { return m_isHorizontal; }
     75
    7376    float contentLogicalOffset() const { return m_contentLogicalOffset; }
    7477    float contentLogicalWidth() const { return m_contentLogicalWidth; }
    … …  
    8992    float m_contentLogicalOffset { 0 };
    9093    float m_contentLogicalWidth { 0 };
    91     FontBaseline m_baselineType { AlphabeticBaseline };
     94    FontBaseline m_baselineType { AlphabeticBaseline };
     95    bool m_isHorizontal { true };
    9296};
    9397
  • trunk/Source/WebCore/layout/integration/LayoutIntegrationPagination.cpp

    r289471 r290127  
    138138            line.baselineType(),
    139139            line.contentLogicalOffset(),
    140             line.contentLogicalWidth()
     140            line.contentLogicalWidth(),
     141            line.isHorizontal()
    141142        };
    142143    };
Note: See TracChangeset for help on using the changeset viewer.