Title: [290127] trunk/Source/WebCore
Revision
290127
Author
za...@apple.com
Date
2022-02-18 08:30:58 -0800 (Fri, 18 Feb 2022)

Log 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):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (290126 => 290127)


--- trunk/Source/WebCore/ChangeLog	2022-02-18 15:46:08 UTC (rev 290126)
+++ trunk/Source/WebCore/ChangeLog	2022-02-18 16:30:58 UTC (rev 290127)
@@ -1,3 +1,29 @@
+2022-02-18  Alan Bujtas  <za...@apple.com>
+
+        [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):
+
 2022-02-18  Antoine Quint  <grao...@webkit.org>
 
         [frame-rate] [custom-effect] allow setting frameRate as an option passed to document.timeline.animate()

Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBox.h (290126 => 290127)


--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBox.h	2022-02-18 15:46:08 UTC (rev 290126)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBox.h	2022-02-18 16:30:58 UTC (rev 290127)
@@ -81,6 +81,7 @@
 
     InlineLayoutUnit rootInlineBoxAlignmentOffset() const { return m_rootInlineBoxAlignmentOffset; }
     FontBaseline baselineType() const { return m_baselineType; }
+    bool isHorizontal() const { return m_rootInlineBox.layoutBox().style().isHorizontalWritingMode(); }
 
     const InlineRect& logicalRect() const { return m_logicalRect; }
 

Modified: trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h (290126 => 290127)


--- trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h	2022-02-18 15:46:08 UTC (rev 290126)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h	2022-02-18 16:30:58 UTC (rev 290127)
@@ -41,7 +41,7 @@
         float top { 0 };
         float bottom { 0 };
     };
-    Line(const FloatRect& lineBoxRect, const FloatRect& scrollableOverflow, EnclosingTopAndBottom, float aligmentBaseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth);
+    Line(const FloatRect& lineBoxRect, const FloatRect& scrollableOverflow, EnclosingTopAndBottom, float aligmentBaseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth, bool isHorizontal);
 
     float left() const { return m_lineBoxRect.x(); }
     float right() const { return m_lineBoxRect.maxX(); }
@@ -58,6 +58,8 @@
     float baseline() const { return m_aligmentBaseline; }
     FontBaseline baselineType() const { return m_baselineType; }
 
+    bool isHorizontal() const { return m_isHorizontal; }
+
     float contentLogicalOffset() const { return m_contentLogicalOffset; }
     float contentLogicalWidth() const { return m_contentLogicalWidth; }
 
@@ -75,9 +77,10 @@
     float m_contentLogicalOffset { 0 };
     float m_contentLogicalWidth { 0 };
     FontBaseline m_baselineType { AlphabeticBaseline };
+    bool m_isHorizontal { true };
 };
 
-inline Line::Line(const FloatRect& lineBoxRect, const FloatRect& scrollableOverflow, EnclosingTopAndBottom enclosingTopAndBottom, float aligmentBaseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth)
+inline Line::Line(const FloatRect& lineBoxRect, const FloatRect& scrollableOverflow, EnclosingTopAndBottom enclosingTopAndBottom, float aligmentBaseline, FontBaseline baselineType, float contentLogicalOffset, float contentLogicalWidth, bool isHorizontal)
     : m_lineBoxRect(lineBoxRect)
     , m_scrollableOverflow(scrollableOverflow)
     , m_enclosingTopAndBottom(enclosingTopAndBottom)
@@ -85,6 +88,7 @@
     , m_contentLogicalOffset(contentLogicalOffset)
     , m_contentLogicalWidth(contentLogicalWidth)
     , m_baselineType(baselineType)
+    , m_isHorizontal(isHorizontal)
 {
 }
 

Modified: trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp (290126 => 290127)


--- trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp	2022-02-18 15:46:08 UTC (rev 290126)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp	2022-02-18 16:30:58 UTC (rev 290127)
@@ -103,6 +103,7 @@
         , lineBox.baselineType()
         , contentVisualLeft
         , rootInlineBox.logicalWidth()
+        , lineBox.isHorizontal()
     };
 }
 

Modified: trunk/Source/WebCore/layout/integration/InlineIteratorLineModernPath.h (290126 => 290127)


--- trunk/Source/WebCore/layout/integration/InlineIteratorLineModernPath.h	2022-02-18 15:46:08 UTC (rev 290126)
+++ trunk/Source/WebCore/layout/integration/InlineIteratorLineModernPath.h	2022-02-18 16:30:58 UTC (rev 290127)
@@ -66,7 +66,7 @@
     float contentLogicalRight() const { return contentLogicalLeft() + line().contentLogicalWidth(); }
     float y() const { return lineBoxTop(); }
     float logicalHeight() const { return lineBoxBottom() - lineBoxTop(); }
-    bool isHorizontal() const { return true; }
+    bool isHorizontal() const { return line().isHorizontal(); }
     FontBaseline baselineType() const { return line().baselineType(); }
 
     const RenderBlockFlow& containingBlock() const { return m_inlineContent->containingBlock(); }

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp (290126 => 290127)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp	2022-02-18 15:46:08 UTC (rev 290126)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp	2022-02-18 16:30:58 UTC (rev 290127)
@@ -137,7 +137,7 @@
         }
 
         auto boxCount = boxIndex - firstBoxIndex;
-        inlineContent.lines.append({ firstBoxIndex, boxCount, FloatRect { line.lineBoxRect() }, line.enclosingTopAndBottom().top, line.enclosingTopAndBottom().bottom, scrollableOverflowRect, lineInkOverflowRect, line.baseline(), line.baselineType(), line.contentLogicalOffset(), line.contentLogicalWidth() });
+        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() });
     }
 }
 

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationLine.h (290126 => 290127)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationLine.h	2022-02-18 15:46:08 UTC (rev 290126)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationLine.h	2022-02-18 16:30:58 UTC (rev 290127)
@@ -36,7 +36,7 @@
 class Line {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    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)
+    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)
         : m_firstBoxIndex(firstBoxIndex)
         , m_boxCount(boxCount)
         , m_lineBoxRect(lineBoxRect)
@@ -48,6 +48,7 @@
         , m_contentLogicalOffset(contentLogicalOffset)
         , m_contentLogicalWidth(contentLogicalWidth)
         , m_baselineType(baselineType)
+        , m_isHorizontal(isHorizontal)
     {
     }
 
@@ -70,6 +71,8 @@
     float baseline() const { return m_baseline; }
     FontBaseline baselineType() const { return m_baselineType; }
 
+    bool isHorizontal() const { return m_isHorizontal; }
+
     float contentLogicalOffset() const { return m_contentLogicalOffset; }
     float contentLogicalWidth() const { return m_contentLogicalWidth; }
 
@@ -88,7 +91,8 @@
     float m_baseline { 0 };
     float m_contentLogicalOffset { 0 };
     float m_contentLogicalWidth { 0 };
-    FontBaseline m_baselineType { AlphabeticBaseline }; 
+    FontBaseline m_baselineType { AlphabeticBaseline };
+    bool m_isHorizontal { true };
 };
 
 }

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationPagination.cpp (290126 => 290127)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationPagination.cpp	2022-02-18 15:46:08 UTC (rev 290126)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationPagination.cpp	2022-02-18 16:30:58 UTC (rev 290127)
@@ -137,7 +137,8 @@
             line.baseline(),
             line.baselineType(),
             line.contentLogicalOffset(),
-            line.contentLogicalWidth()
+            line.contentLogicalWidth(),
+            line.isHorizontal()
         };
     };
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to