Title: [247350] trunk/Source/WebCore
Revision
247350
Author
za...@apple.com
Date
2019-07-11 07:09:55 -0700 (Thu, 11 Jul 2019)

Log Message

[LFC][IFC] Cleanup InlineFormattingContext::LineLayout class.
https://bugs.webkit.org/show_bug.cgi?id=199702
<rdar://problem/52931733>

Reviewed by Sam Weinig.

Move some structs to .cpp. They don't need to pollute the class declaration.

* layout/inlineformatting/InlineFormattingContext.h:
(WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const):
(): Deleted.
* layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
(WebCore::Layout::LineInput::HorizontalConstraint::HorizontalConstraint):
(WebCore::Layout::LineInput::LineInput):
(WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const):
(WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::HorizontalConstraint::HorizontalConstraint): Deleted.
(WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::LineInput): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (247349 => 247350)


--- trunk/Source/WebCore/ChangeLog	2019-07-11 13:36:50 UTC (rev 247349)
+++ trunk/Source/WebCore/ChangeLog	2019-07-11 14:09:55 UTC (rev 247350)
@@ -1,3 +1,23 @@
+2019-07-11  Zalan Bujtas  <za...@apple.com>
+
+        [LFC][IFC] Cleanup InlineFormattingContext::LineLayout class.
+        https://bugs.webkit.org/show_bug.cgi?id=199702
+        <rdar://problem/52931733>
+
+        Reviewed by Sam Weinig.
+
+        Move some structs to .cpp. They don't need to pollute the class declaration. 
+
+        * layout/inlineformatting/InlineFormattingContext.h:
+        (WebCore::Layout::InlineFormattingContext::LineLayout::layoutState const):
+        (): Deleted.
+        * layout/inlineformatting/InlineFormattingContextLineLayout.cpp:
+        (WebCore::Layout::LineInput::HorizontalConstraint::HorizontalConstraint):
+        (WebCore::Layout::LineInput::LineInput):
+        (WebCore::Layout::InlineFormattingContext::LineLayout::placeInlineItems const):
+        (WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::HorizontalConstraint::HorizontalConstraint): Deleted.
+        (WebCore::Layout::InlineFormattingContext::LineLayout::LineInput::LineInput): Deleted.
+
 2019-07-11  Joanmarie Diggs  <jdi...@igalia.com>
 
         AX: Implement support for ARIA roles insertion, deletion, subscript, superscript, and time

Modified: trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h (247349 => 247350)


--- trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h	2019-07-11 13:36:50 UTC (rev 247349)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h	2019-07-11 14:09:55 UTC (rev 247350)
@@ -38,6 +38,8 @@
 
 class FloatingState;
 class InlineContainer;
+struct LineContent;
+struct LineInput;
 
 // This class implements the layout logic for inline formatting contexts.
 // https://www.w3.org/TR/CSS22/visuren.html#inline-formatting
@@ -58,33 +60,6 @@
 
     private:
         LayoutState& layoutState() const { return m_layoutState; }
-
-        struct InlineIndexAndSplitPosition {
-            unsigned index { 0 };
-            Optional<unsigned> splitPosition;
-        };
-
-        struct LineInput {
-            LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems&);
-            struct HorizontalConstraint {
-                HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth);
-
-                LayoutPoint logicalTopLeft;
-                LayoutUnit availableLogicalWidth;
-            };
-            HorizontalConstraint horizontalConstraint;
-            // FIXME Alternatively we could just have a second pass with vertical positioning (preferred width computation opts out) 
-            Line::SkipVerticalAligment skipVerticalAligment;
-            InlineIndexAndSplitPosition firstInlineItem;
-            const InlineItems& inlineItems;
-            Optional<LayoutUnit> floatMinimumLogicalBottom;
-        };
-
-        struct LineContent {
-            Optional<InlineIndexAndSplitPosition> lastCommitted;
-            Vector<WeakPtr<InlineItem>> floats;
-            std::unique_ptr<Line::Content> runs;
-        };
         LineContent placeInlineItems(const LineInput&) const;
         void createDisplayRuns(const Line::Content&, const Vector<WeakPtr<InlineItem>>& floats, LayoutUnit widthConstraint) const;
         void alignRuns(TextAlignMode, InlineRuns&, unsigned firstRunIndex, LayoutUnit availableWidth) const;

Modified: trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp (247349 => 247350)


--- trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp	2019-07-11 13:36:50 UTC (rev 247349)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextLineLayout.cpp	2019-07-11 14:09:55 UTC (rev 247350)
@@ -41,6 +41,33 @@
 namespace WebCore {
 namespace Layout {
 
+struct InlineIndexAndSplitPosition {
+    unsigned index { 0 };
+    Optional<unsigned> splitPosition;
+};
+
+struct LineInput {
+    LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems&);
+    struct HorizontalConstraint {
+        HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth);
+
+        LayoutPoint logicalTopLeft;
+        LayoutUnit availableLogicalWidth;
+    };
+    HorizontalConstraint horizontalConstraint;
+    // FIXME Alternatively we could just have a second pass with vertical positioning (preferred width computation opts out) 
+    Line::SkipVerticalAligment skipVerticalAligment;
+    InlineIndexAndSplitPosition firstInlineItem;
+    const InlineItems& inlineItems;
+    Optional<LayoutUnit> floatMinimumLogicalBottom;
+};
+
+struct LineContent {
+    Optional<InlineIndexAndSplitPosition> lastCommitted;
+    Vector<WeakPtr<InlineItem>> floats;
+    std::unique_ptr<Line::Content> runs;
+};
+
 struct UncommittedContent {
     struct Run {
         const InlineItem& inlineItem;
@@ -72,13 +99,13 @@
     m_width = 0;
 }
 
-InlineFormattingContext::LineLayout::LineInput::HorizontalConstraint::HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth)
+LineInput::HorizontalConstraint::HorizontalConstraint(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth)
     : logicalTopLeft(logicalTopLeft)
     , availableLogicalWidth(availableLogicalWidth)
 {
 }
 
-InlineFormattingContext::LineLayout::LineInput::LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment skipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems& inlineItems)
+LineInput::LineInput(LayoutPoint logicalTopLeft, LayoutUnit availableLogicalWidth, Line::SkipVerticalAligment skipVerticalAligment, InlineIndexAndSplitPosition firstToProcess, const InlineItems& inlineItems)
     : horizontalConstraint(logicalTopLeft, availableLogicalWidth)
     , skipVerticalAligment(skipVerticalAligment)
     , firstInlineItem(firstToProcess)
@@ -123,7 +150,7 @@
     return displayBox.width();
 }
 
-InlineFormattingContext::LineLayout::LineContent InlineFormattingContext::LineLayout::placeInlineItems(const LineInput& lineInput) const
+LineContent InlineFormattingContext::LineLayout::placeInlineItems(const LineInput& lineInput) const
 {
     auto initialLineConstraints = Line::InitialConstraints {
         lineInput.horizontalConstraint.logicalTopLeft,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to