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()
};
};