[LFC][IFC] LineBox::Baseline should have a height getter.
authorzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Jun 2019 15:31:02 +0000 (15:31 +0000)
committerzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 21 Jun 2019 15:31:02 +0000 (15:31 +0000)
https://bugs.webkit.org/show_bug.cgi?id=199092
<rdar://problem/51966958>

Reviewed by Antti Koivisto.

The baseline height does not need to be a getter on the Line (no one calls it).

* layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::adjustBaselineAndLineHeight):
* layout/inlineformatting/InlineLine.h:
(WebCore::Layout::Line::contentLogicalWidth const):
(WebCore::Layout::Line::baselineAlignedContentHeight const): Deleted.
* layout/inlineformatting/InlineLineBox.h:
(WebCore::Layout::LineBox::Baseline::height const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246678 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/layout/inlineformatting/InlineLine.cpp
Source/WebCore/layout/inlineformatting/InlineLine.h
Source/WebCore/layout/inlineformatting/InlineLineBox.h

index 5570fe0..4999c14 100644 (file)
@@ -1,3 +1,21 @@
+2019-06-21  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][IFC] LineBox::Baseline should have a height getter.
+        https://bugs.webkit.org/show_bug.cgi?id=199092
+        <rdar://problem/51966958>
+
+        Reviewed by Antti Koivisto.
+
+        The baseline height does not need to be a getter on the Line (no one calls it).
+
+        * layout/inlineformatting/InlineLine.cpp:
+        (WebCore::Layout::Line::adjustBaselineAndLineHeight):
+        * layout/inlineformatting/InlineLine.h:
+        (WebCore::Layout::Line::contentLogicalWidth const):
+        (WebCore::Layout::Line::baselineAlignedContentHeight const): Deleted.
+        * layout/inlineformatting/InlineLineBox.h:
+        (WebCore::Layout::LineBox::Baseline::height const):
+
 2019-06-21  Michael Catanzaro  <mcatanzaro@igalia.com>
 
         [WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo
 2019-06-21  Michael Catanzaro  <mcatanzaro@igalia.com>
 
         [WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo
index c0cd5da..1389c34 100644 (file)
@@ -319,7 +319,7 @@ void Line::adjustBaselineAndLineHeight(const InlineItem& inlineItem, LayoutUnit
             m_baseline.descent = std::max(m_baseline.descent, halfLeading.descent);
         if (halfLeading.ascent > 0)
             m_baseline.ascent = std::max(m_baseline.ascent, halfLeading.ascent);
             m_baseline.descent = std::max(m_baseline.descent, halfLeading.descent);
         if (halfLeading.ascent > 0)
             m_baseline.ascent = std::max(m_baseline.ascent, halfLeading.ascent);
-        m_contentLogicalHeight = std::max(m_contentLogicalHeight, baselineAlignedContentHeight());
+        m_contentLogicalHeight = std::max(m_contentLogicalHeight, m_baseline.height());
         return;
     }
     // Apply initial strut if needed.
         return;
     }
     // Apply initial strut if needed.
@@ -328,7 +328,7 @@ void Line::adjustBaselineAndLineHeight(const InlineItem& inlineItem, LayoutUnit
             return;
         m_baseline.ascent = std::max(m_initialStrut->ascent, m_baseline.ascent);
         m_baseline.descent = std::max(m_initialStrut->descent, m_baseline.descent);
             return;
         m_baseline.ascent = std::max(m_initialStrut->ascent, m_baseline.ascent);
         m_baseline.descent = std::max(m_initialStrut->descent, m_baseline.descent);
-        m_contentLogicalHeight = std::max(m_contentLogicalHeight, baselineAlignedContentHeight());
+        m_contentLogicalHeight = std::max(m_contentLogicalHeight, m_baseline.height());
         m_initialStrut = { };
         return;
     }
         m_initialStrut = { };
         return;
     }
@@ -343,12 +343,12 @@ void Line::adjustBaselineAndLineHeight(const InlineItem& inlineItem, LayoutUnit
             auto inlineBlockBaseline = formattingState.lineBoxes().last().baseline();
             m_baseline.descent = std::max(inlineBlockBaseline.descent, m_baseline.descent);
             m_baseline.ascent = std::max(inlineBlockBaseline.ascent, m_baseline.ascent);
             auto inlineBlockBaseline = formattingState.lineBoxes().last().baseline();
             m_baseline.descent = std::max(inlineBlockBaseline.descent, m_baseline.descent);
             m_baseline.ascent = std::max(inlineBlockBaseline.ascent, m_baseline.ascent);
-            m_contentLogicalHeight = std::max(std::max(m_contentLogicalHeight, runHeight), baselineAlignedContentHeight());
+            m_contentLogicalHeight = std::max(std::max(m_contentLogicalHeight, runHeight), m_baseline.height());
             break;
         }
         m_baseline.descent = std::max<LayoutUnit>(0, m_baseline.descent);
         m_baseline.ascent = std::max(runHeight, m_baseline.ascent);
             break;
         }
         m_baseline.descent = std::max<LayoutUnit>(0, m_baseline.descent);
         m_baseline.ascent = std::max(runHeight, m_baseline.ascent);
-        m_contentLogicalHeight = std::max(m_contentLogicalHeight, baselineAlignedContentHeight());
+        m_contentLogicalHeight = std::max(m_contentLogicalHeight, m_baseline.height());
         break;
     case VerticalAlign::Top:
         // Top align content never changes the baseline offset, it only pushes the bottom of the line further down.
         break;
     case VerticalAlign::Top:
         // Top align content never changes the baseline offset, it only pushes the bottom of the line further down.
index 08f908a..2a5eb0d 100644 (file)
@@ -118,7 +118,6 @@ private:
     LayoutUnit logicalHeight() const { return m_contentLogicalHeight; }
 
     LayoutUnit contentLogicalWidth() const { return m_contentLogicalWidth; }
     LayoutUnit logicalHeight() const { return m_contentLogicalHeight; }
 
     LayoutUnit contentLogicalWidth() const { return m_contentLogicalWidth; }
-    LayoutUnit baselineAlignedContentHeight() const { return m_baseline.ascent + m_baseline.descent; }
     LayoutUnit baselineOffset() const { return m_baseline.ascent + m_baselineTop; }
 
     void appendNonBreakableSpace(const InlineItem&, const Display::Rect& logicalRect);
     LayoutUnit baselineOffset() const { return m_baseline.ascent + m_baselineTop; }
 
     void appendNonBreakableSpace(const InlineItem&, const Display::Rect& logicalRect);
index ec34031..96a74f5 100644 (file)
@@ -35,6 +35,8 @@ namespace Layout {
 class LineBox {
 public:
     struct Baseline {
 class LineBox {
 public:
     struct Baseline {
+        LayoutUnit height() const { return ascent + descent; }
+
         LayoutUnit ascent;
         LayoutUnit descent;
     };
         LayoutUnit ascent;
         LayoutUnit descent;
     };