Modified: trunk/Source/WebCore/ChangeLog (282743 => 282744)
--- trunk/Source/WebCore/ChangeLog 2021-09-20 12:04:29 UTC (rev 282743)
+++ trunk/Source/WebCore/ChangeLog 2021-09-20 14:00:38 UTC (rev 282744)
@@ -1,3 +1,19 @@
+2021-09-20 Zalan Bujtas <[email protected]>
+
+ [LFC][Integration] Remove redundant Run::m_isLineSpanning
+ https://bugs.webkit.org/show_bug.cgi?id=230470
+
+ Reviewed by Antti Koivisto.
+
+ FIXME got implemented. Run iterators do skip line spanning inline boxes. We don't need this anymore.
+
+ * layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
+ (WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineSpanningInlineBoxes):
+ * layout/formattingContexts/inline/InlineLineRun.h:
+ (WebCore::Layout::Run::hasContent const):
+ (WebCore::Layout::Run::Run):
+ (WebCore::Layout::Run::isLineSpanning const): Deleted.
+
2021-09-19 Simon Fraser <[email protected]>
Have ScrollAnimation work in terms of offsets, not positions
Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (282743 => 282744)
--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp 2021-09-20 12:04:29 UTC (rev 282743)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp 2021-09-20 14:00:38 UTC (rev 282744)
@@ -197,7 +197,7 @@
inlineBoxBorderBox.moveBy(lineBoxLogicalTopLeft);
m_inlineBoxRunIndexMap.add(&layoutBox, runs.size());
- runs.append({ lineIndex, Run::Type::NonRootInlineBox, layoutBox, inlineBoxBorderBox, inlineBoxBorderBox, { }, { }, inlineLevelBox.hasContent(), true });
+ runs.append({ lineIndex, Run::Type::NonRootInlineBox, layoutBox, inlineBoxBorderBox, inlineBoxBorderBox, { }, { }, inlineLevelBox.hasContent() });
auto inlineBoxSize = LayoutSize { LayoutUnit::fromFloatCeil(inlineBoxBorderBox.width()), LayoutUnit::fromFloatCeil(inlineBoxBorderBox.height()) };
auto logicalRect = Rect { LayoutPoint { inlineBoxBorderBox.topLeft() }, inlineBoxSize };
Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineRun.h (282743 => 282744)
--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineRun.h 2021-09-20 12:04:29 UTC (rev 282743)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineRun.h 2021-09-20 14:00:38 UTC (rev 282744)
@@ -67,7 +67,7 @@
GenericInlineLevelBox
};
struct Expansion;
- Run(size_t lineIndex, Type, const Box&, const InlineRect&, const InlineRect& inkOverflow, Expansion, std::optional<Text> = std::nullopt, bool hasContent = true, bool isLineSpanning = false);
+ Run(size_t lineIndex, Type, const Box&, const InlineRect&, const InlineRect& inkOverflow, Expansion, std::optional<Text> = std::nullopt, bool hasContent = true);
bool isText() const { return m_type == Type::Text; }
bool isSoftLineBreak() const { return m_type == Type::SoftLineBreak; }
@@ -83,7 +83,6 @@
Type type() const { return m_type; }
bool hasContent() const { return m_hasContent; }
- bool isLineSpanning() const { return m_isLineSpanning; }
const InlineRect& logicalRect() const { return m_logicalRect; }
const InlineRect& inkOverflow() const { return m_inkOverflow; }
@@ -120,13 +119,11 @@
InlineRect m_logicalRect;
InlineRect m_inkOverflow;
bool m_hasContent { true };
- // FIXME: This is temporary until after iterators can skip over line spanning/root inline boxes.
- bool m_isLineSpanning { false };
Expansion m_expansion;
std::optional<Text> m_text;
};
-inline Run::Run(size_t lineIndex, Type type, const Layout::Box& layoutBox, const InlineRect& logicalRect, const InlineRect& inkOverflow, Expansion expansion, std::optional<Text> text, bool hasContent, bool isLineSpanning)
+inline Run::Run(size_t lineIndex, Type type, const Layout::Box& layoutBox, const InlineRect& logicalRect, const InlineRect& inkOverflow, Expansion expansion, std::optional<Text> text, bool hasContent)
: m_lineIndex(lineIndex)
, m_type(type)
, m_layoutBox(makeWeakPtr(layoutBox))
@@ -133,7 +130,6 @@
, m_logicalRect(logicalRect)
, m_inkOverflow(inkOverflow)
, m_hasContent(hasContent)
- , m_isLineSpanning(isLineSpanning)
, m_expansion(expansion)
, m_text(text)
{