Title: [251617] trunk/Source/WebCore
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;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to