- Revision
- 251617
- Author
- za...@apple.com
- Date
- 2019-10-25 17:46:07 -0700 (Fri, 25 Oct 2019)
Log Message
[LFC][IFC] Remove redundant LineLayout::LineInput c'tor
https://bugs.webkit.org/show_bug.cgi?id=203425
<rdar://problem/56624666>
Reviewed by Antti Koivisto.
Move the SkipAligment paramenter to the LineLayout from LineLayout::LineInput, because it's the property of the layout and not an input to the actual line.
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
* layout/inlineformatting/InlineLineLayout.cpp:
(WebCore::Layout::LineLayout::LineInput::LineInput):
(WebCore::Layout::LineLayout::LineLayout):
* layout/inlineformatting/InlineLineLayout.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (251616 => 251617)
--- trunk/Source/WebCore/ChangeLog 2019-10-26 00:37:31 UTC (rev 251616)
+++ trunk/Source/WebCore/ChangeLog 2019-10-26 00:46:07 UTC (rev 251617)
@@ -1,3 +1,21 @@
+2019-10-25 Zalan Bujtas <za...@apple.com>
+
+ [LFC][IFC] Remove redundant LineLayout::LineInput c'tor
+ https://bugs.webkit.org/show_bug.cgi?id=203425
+ <rdar://problem/56624666>
+
+ Reviewed by Antti Koivisto.
+
+ Move the SkipAligment paramenter to the LineLayout from LineLayout::LineInput, because it's the property of the layout and not an input to the actual line.
+
+ * layout/inlineformatting/InlineFormattingContext.cpp:
+ (WebCore::Layout::InlineFormattingContext::lineLayout):
+ (WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
+ * layout/inlineformatting/InlineLineLayout.cpp:
+ (WebCore::Layout::LineLayout::LineInput::LineInput):
+ (WebCore::Layout::LineLayout::LineLayout):
+ * layout/inlineformatting/InlineLineLayout.h:
+
2019-10-25 Tim Horton <timothy_hor...@apple.com>
macCatalyst: Build failures in projects that have both AppKit and WAK headers
Modified: trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp (251616 => 251617)
--- trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp 2019-10-26 00:37:31 UTC (rev 251616)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp 2019-10-26 00:46:07 UTC (rev 251617)
@@ -101,7 +101,7 @@
auto lineConstraints = initialConstraintsForLine(usedHorizontalValues, lineLogicalTop);
auto lineInput = LineLayout::LineInput { lineConstraints, root().style().textAlign(), inlineItems, leadingInlineItemIndex, leadingPartialContent };
- auto lineLayout = LineLayout { *this, lineInput };
+ auto lineLayout = LineLayout { *this, Line::SkipAlignment::No, lineInput };
auto lineContent = lineLayout.layout();
setDisplayBoxesForLine(lineContent, usedHorizontalValues);
@@ -239,9 +239,9 @@
while (leadingInlineItemIndex < inlineItems.size()) {
// Only the horiztonal available width is constrained when computing intrinsic width.
auto initialLineConstraints = Line::InitialConstraints { { }, usedHorizontalValues.constraints.width, false, { } };
- auto lineInput = LineLayout::LineInput { initialLineConstraints, inlineItems, leadingInlineItemIndex };
+ auto lineInput = LineLayout::LineInput { initialLineConstraints, root().style().textAlign(), inlineItems, leadingInlineItemIndex, { } };
- auto lineContent = LineLayout(*this, lineInput).layout();
+ auto lineContent = LineLayout(*this, Line::SkipAlignment::Yes, lineInput).layout();
leadingInlineItemIndex = *lineContent.trailingInlineItemIndex + 1;
LayoutUnit floatsWidth;
Modified: trunk/Source/WebCore/layout/inlineformatting/InlineLineLayout.cpp (251616 => 251617)
--- trunk/Source/WebCore/layout/inlineformatting/InlineLineLayout.cpp 2019-10-26 00:37:31 UTC (rev 251616)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineLineLayout.cpp 2019-10-26 00:46:07 UTC (rev 251617)
@@ -74,14 +74,6 @@
{
}
-LineLayout::LineInput::LineInput(const Line::InitialConstraints& initialLineConstraints, const InlineItems& inlineItems, unsigned leadingInlineItemIndex)
- : initialConstraints(initialLineConstraints)
- , skipAlignment(Line::SkipAlignment::Yes)
- , inlineItems(inlineItems)
- , leadingInlineItemIndex(leadingInlineItemIndex)
-{
-}
-
void LineLayout::UncommittedContent::add(const InlineItem& inlineItem, LayoutUnit logicalWidth)
{
m_uncommittedRuns.append({ inlineItem, logicalWidth });
@@ -94,10 +86,10 @@
m_width = 0;
}
-LineLayout::LineLayout(const InlineFormattingContext& inlineFormattingContext, const LineInput& lineInput)
+LineLayout::LineLayout(const InlineFormattingContext& inlineFormattingContext, Line::SkipAlignment skipAlignment, const LineInput& lineInput)
: m_inlineFormattingContext(inlineFormattingContext)
, m_lineInput(lineInput)
- , m_line(inlineFormattingContext, lineInput.initialConstraints, lineInput.horizontalAlignment, lineInput.skipAlignment)
+ , m_line(inlineFormattingContext, lineInput.initialConstraints, lineInput.horizontalAlignment, skipAlignment)
, m_lineHasIntrusiveFloat(lineInput.initialConstraints.lineIsConstrainedByFloat)
{
}
Modified: trunk/Source/WebCore/layout/inlineformatting/InlineLineLayout.h (251616 => 251617)
--- trunk/Source/WebCore/layout/inlineformatting/InlineLineLayout.h 2019-10-26 00:37:31 UTC (rev 251616)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineLineLayout.h 2019-10-26 00:46:07 UTC (rev 251617)
@@ -36,7 +36,7 @@
class LineLayout {
public:
struct LineInput;
- LineLayout(const InlineFormattingContext&, const LineInput&);
+ LineLayout(const InlineFormattingContext&, Line::SkipAlignment, const LineInput&);
struct LineContent;
LineContent layout();
@@ -46,13 +46,10 @@
unsigned length;
};
struct LineInput {
- LineInput(const Line::InitialConstraints&, TextAlignMode, const InlineItems&, unsigned leadingInlineItemIndex, Optional<PartialContent> leadingPartialContent);
- LineInput(const Line::InitialConstraints&, const InlineItems&, unsigned leadingInlineItemIndex);
+ LineInput(const Line::InitialConstraints&, TextAlignMode horizontalAlignment, const InlineItems&, unsigned leadingInlineItemIndex, Optional<PartialContent> leadingPartialContent);
Line::InitialConstraints initialConstraints;
TextAlignMode horizontalAlignment;
- // FIXME Alternatively we could just have a second pass with vertical positioning (preferred width computation opts out)
- Line::SkipAlignment skipAlignment { Line::SkipAlignment::No };
const InlineItems& inlineItems;
unsigned leadingInlineItemIndex { 0 };
Optional<PartialContent> leadingPartialContent;