Title: [290438] trunk
Revision
290438
Author
[email protected]
Date
2022-02-24 09:31:55 -0800 (Thu, 24 Feb 2022)

Log Message

[LFC][IFC] Non-orthogonal inline block boxes keep their baseline on ideographic lines
https://bugs.webkit.org/show_bug.cgi?id=236946

Reviewed by Antti Koivisto.

Source/WebCore:

This is similar to the logic in RenderBlock::baselinePosition for inline block boxes.

* layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
* layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
* rendering/RenderBlock.h:

LayoutTests:

* platform/mac/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt: Progression

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (290437 => 290438)


--- trunk/LayoutTests/ChangeLog	2022-02-24 17:19:25 UTC (rev 290437)
+++ trunk/LayoutTests/ChangeLog	2022-02-24 17:31:55 UTC (rev 290438)
@@ -1,3 +1,12 @@
+2022-02-24  Alan Bujtas  <[email protected]>
+
+        [LFC][IFC] Non-orthogonal inline block boxes keep their baseline on ideographic lines
+        https://bugs.webkit.org/show_bug.cgi?id=236946
+
+        Reviewed by Antti Koivisto.
+
+        * platform/mac/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt: Progression
+
 2022-02-24  Devin Rousso  <[email protected]>
 
         Web Inspector: merge WI.OverlayManager into WI.DOMNode

Modified: trunk/LayoutTests/platform/ios/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt (290437 => 290438)


--- trunk/LayoutTests/platform/ios/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt	2022-02-24 17:19:25 UTC (rev 290437)
+++ trunk/LayoutTests/platform/ios/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt	2022-02-24 17:31:55 UTC (rev 290438)
@@ -12,8 +12,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,83) size 19x4
-          text run at (119,83) width 4: " "
+        RenderText {#text} at (183,83) size 19x4
+          text run at (183,83) width 4: " "
         RenderBlock {DIV} at (0,87) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px groove #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -22,8 +22,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,170) size 19x4
-          text run at (119,170) width 4: " "
+        RenderText {#text} at (183,170) size 19x4
+          text run at (183,170) width 4: " "
         RenderBlock {DIV} at (0,174) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px ridge #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -32,8 +32,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,257) size 19x4
-          text run at (119,257) width 4: " "
+        RenderText {#text} at (183,257) size 19x4
+          text run at (183,257) width 4: " "
         RenderBlock {DIV} at (0,261) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px outset #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -42,8 +42,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,344) size 19x4
-          text run at (119,344) width 4: " "
+        RenderText {#text} at (183,344) size 19x4
+          text run at (183,344) width 4: " "
         RenderBlock {DIV} at (0,348) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px inset #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -52,8 +52,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,431) size 19x4
-          text run at (119,431) width 4: " "
+        RenderText {#text} at (183,431) size 19x4
+          text run at (183,431) width 4: " "
         RenderBlock {DIV} at (0,435) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px double #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -72,8 +72,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,83) size 19x4
-          text run at (119,83) width 4: " "
+        RenderText {#text} at (183,83) size 19x4
+          text run at (183,83) width 4: " "
         RenderBlock {DIV} at (0,87) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px groove #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -82,8 +82,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,170) size 19x4
-          text run at (119,170) width 4: " "
+        RenderText {#text} at (183,170) size 19x4
+          text run at (183,170) width 4: " "
         RenderBlock {DIV} at (0,174) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px ridge #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -92,8 +92,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,257) size 19x4
-          text run at (119,257) width 4: " "
+        RenderText {#text} at (183,257) size 19x4
+          text run at (183,257) width 4: " "
         RenderBlock {DIV} at (0,261) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px outset #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -102,8 +102,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,344) size 19x4
-          text run at (119,344) width 4: " "
+        RenderText {#text} at (183,344) size 19x4
+          text run at (183,344) width 4: " "
         RenderBlock {DIV} at (0,348) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px inset #808080)]
             RenderText {#text} at (28,35) size 72x48
@@ -112,8 +112,8 @@
             RenderText {#text} at (156,0) size 72x48
               text run at (156,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,431) size 19x4
-          text run at (119,431) width 4: " "
+        RenderText {#text} at (183,431) size 19x4
+          text run at (183,431) width 4: " "
         RenderBlock {DIV} at (0,435) size 256x83
           RenderInline {SPAN} at (0,0) size 240x83 [bgcolor=#DDDDDD] [border: (20px double #808080)]
             RenderText {#text} at (28,35) size 72x48

Modified: trunk/LayoutTests/platform/mac/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt (290437 => 290438)


--- trunk/LayoutTests/platform/mac/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt	2022-02-24 17:19:25 UTC (rev 290437)
+++ trunk/LayoutTests/platform/mac/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt	2022-02-24 17:31:55 UTC (rev 290438)
@@ -12,8 +12,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,83) size 18x4
-          text run at (119,83) width 4: " "
+        RenderText {#text} at (183,83) size 18x4
+          text run at (183,83) width 4: " "
         RenderBlock {DIV} at (0,87) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px groove #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -22,8 +22,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,170) size 18x4
-          text run at (119,170) width 4: " "
+        RenderText {#text} at (183,170) size 18x4
+          text run at (183,170) width 4: " "
         RenderBlock {DIV} at (0,174) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px ridge #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -32,8 +32,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,257) size 18x4
-          text run at (119,257) width 4: " "
+        RenderText {#text} at (183,257) size 18x4
+          text run at (183,257) width 4: " "
         RenderBlock {DIV} at (0,261) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px outset #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -42,8 +42,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,344) size 18x4
-          text run at (119,344) width 4: " "
+        RenderText {#text} at (183,344) size 18x4
+          text run at (183,344) width 4: " "
         RenderBlock {DIV} at (0,348) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px inset #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -52,8 +52,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,431) size 18x4
-          text run at (119,431) width 4: " "
+        RenderText {#text} at (183,431) size 18x4
+          text run at (183,431) width 4: " "
         RenderBlock {DIV} at (0,435) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px double #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -72,8 +72,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,83) size 18x4
-          text run at (119,83) width 4: " "
+        RenderText {#text} at (183,83) size 18x4
+          text run at (183,83) width 4: " "
         RenderBlock {DIV} at (0,87) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px groove #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -82,8 +82,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,170) size 18x4
-          text run at (119,170) width 4: " "
+        RenderText {#text} at (183,170) size 18x4
+          text run at (183,170) width 4: " "
         RenderBlock {DIV} at (0,174) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px ridge #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -92,8 +92,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,257) size 18x4
-          text run at (119,257) width 4: " "
+        RenderText {#text} at (183,257) size 18x4
+          text run at (183,257) width 4: " "
         RenderBlock {DIV} at (0,261) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px outset #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -102,8 +102,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,344) size 18x4
-          text run at (119,344) width 4: " "
+        RenderText {#text} at (183,344) size 18x4
+          text run at (183,344) width 4: " "
         RenderBlock {DIV} at (0,348) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px inset #808080)]
             RenderText {#text} at (27,35) size 74x48
@@ -112,8 +112,8 @@
             RenderText {#text} at (155,0) size 74x48
               text run at (155,0) width 48: "   "
           RenderText {#text} at (0,0) size 0x0
-        RenderText {#text} at (119,431) size 18x4
-          text run at (119,431) width 4: " "
+        RenderText {#text} at (183,431) size 18x4
+          text run at (183,431) width 4: " "
         RenderBlock {DIV} at (0,435) size 256x83
           RenderInline {SPAN} at (0,0) size 242x83 [bgcolor=#DDDDDD] [border: (20px double #808080)]
             RenderText {#text} at (27,35) size 74x48

Modified: trunk/Source/WebCore/ChangeLog (290437 => 290438)


--- trunk/Source/WebCore/ChangeLog	2022-02-24 17:19:25 UTC (rev 290437)
+++ trunk/Source/WebCore/ChangeLog	2022-02-24 17:31:55 UTC (rev 290438)
@@ -1,5 +1,23 @@
 2022-02-24  Alan Bujtas  <[email protected]>
 
+        [LFC][IFC] Non-orthogonal inline block boxes keep their baseline on ideographic lines
+        https://bugs.webkit.org/show_bug.cgi?id=236946
+
+        Reviewed by Antti Koivisto.
+
+        This is similar to the logic in RenderBlock::baselinePosition for inline block boxes.
+
+        * layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
+        (WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
+        (WebCore::Layout::LineBoxBuilder::adjustIdeographicBaselineIfApplicable):
+        * layout/integration/LayoutIntegrationBoxTree.cpp:
+        (WebCore::LayoutIntegration::BoxTree::buildTree):
+        * layout/integration/LayoutIntegrationLineLayout.cpp:
+        (WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
+        * rendering/RenderBlock.h:
+
+2022-02-24  Alan Bujtas  <[email protected]>
+
         [IFC][Integration] verticalLogicalMargin returns incorrect values for vertical-rl
         https://bugs.webkit.org/show_bug.cgi?id=237138
 

Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp (290437 => 290438)


--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp	2022-02-24 17:19:25 UTC (rev 290437)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp	2022-02-24 17:31:55 UTC (rev 290438)
@@ -261,7 +261,7 @@
             if (layoutState().shouldNotSynthesizeInlineBlockBaseline()) {
                 // Integration codepath constructs replaced boxes for inline-block content.
                 ASSERT(layoutBox.isReplacedBox());
-                ascent = *downcast<ReplacedBox>(layoutBox).baseline();
+                ascent = downcast<ReplacedBox>(layoutBox).baseline().value_or(marginBoxHeight);
             } else if (layoutBox.isInlineBlockBox()) {
                 // The baseline of an 'inline-block' is the baseline of its last line box in the normal flow, unless it has either no in-flow line boxes or
                 // if its 'overflow' property has a computed value other than 'visible', in which case the baseline is the bottom margin edge.
@@ -415,8 +415,19 @@
     };
 
     adjustLayoutBoundsWithIdeographicBaseline(rootInlineBox);
-    for (auto& inlineLevelBox : lineBox.nonRootInlineLevelBoxes())
+    for (auto& inlineLevelBox : lineBox.nonRootInlineLevelBoxes()) {
+        if (inlineLevelBox.isAtomicInlineLevelBox()) {
+            auto& layoutBox = inlineLevelBox.layoutBox();
+            auto isInlineBlockWithNonSyntheticBaseline = layoutBox.isIntegrationInlineBlock() && downcast<ReplacedBox>(layoutBox).baseline().has_value();
+            // FIXME: While the layoutBox.isIntegrationInlineBlock check may seem redundant here, it's really just because currently
+            // the integration codepath turns inline-blocks into replaced type boxes.
+            auto isOrthogonalBlockFormattingRoot = (layoutBox.establishesBlockFormattingContext() || layoutBox.isIntegrationInlineBlock()) 
+                && layoutBox.style().isHorizontalWritingMode();
+            if (isInlineBlockWithNonSyntheticBaseline && !isOrthogonalBlockFormattingRoot)
+                continue;
+        }
         adjustLayoutBoundsWithIdeographicBaseline(inlineLevelBox);
+    }
 }
 
 }

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp (290437 => 290438)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp	2022-02-24 17:19:25 UTC (rev 290437)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp	2022-02-24 17:31:55 UTC (rev 290438)
@@ -35,6 +35,7 @@
 #include "LayoutReplacedBox.h"
 #include "RenderBlockFlow.h"
 #include "RenderChildIterator.h"
+#include "RenderDetailsMarker.h"
 #include "RenderImage.h"
 #include "RenderLineBreak.h"
 #include "TextUtil.h"
@@ -116,8 +117,14 @@
         if (is<RenderReplaced>(childRenderer))
             return makeUnique<Layout::ReplacedBox>(Layout::Box::ElementAttributes { is<RenderImage>(childRenderer) ? Layout::Box::ElementType::Image : Layout::Box::ElementType::GenericElement }, WTFMove(style), WTFMove(firstLineStyle));
 
-        if (is<RenderBlock>(childRenderer))
-            return makeUnique<Layout::ReplacedBox>(Layout::Box::ElementAttributes { Layout::Box::ElementType::IntegrationInlineBlock }, WTFMove(style), WTFMove(firstLineStyle));
+        if (is<RenderBlock>(childRenderer)) {
+            auto attributes = Layout::Box::ElementAttributes { Layout::Box::ElementType::IntegrationInlineBlock };
+            if (is<RenderDetailsMarker>(childRenderer)) {
+                // Details marker is not a real inline-block box.
+                attributes = Layout::Box::ElementAttributes { Layout::Box::ElementType::GenericElement };
+            }
+            return makeUnique<Layout::ReplacedBox>(attributes, WTFMove(style), WTFMove(firstLineStyle));
+        }
 
         if (is<RenderInline>(childRenderer)) {
             // This looks like continuation renderer.

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp (290437 => 290438)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp	2022-02-24 17:19:25 UTC (rev 290437)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp	2022-02-24 17:31:55 UTC (rev 290438)
@@ -45,12 +45,19 @@
 #include "LayoutReplacedBox.h"
 #include "LayoutTreeBuilder.h"
 #include "PaintInfo.h"
+#include "RenderAttachment.h"
 #include "RenderBlockFlow.h"
+#include "RenderButton.h"
 #include "RenderChildIterator.h"
 #include "RenderDescendantIterator.h"
 #include "RenderImage.h"
 #include "RenderInline.h"
 #include "RenderLineBreak.h"
+#include "RenderListBox.h"
+#include "RenderListMarker.h"
+#include "RenderSlider.h"
+#include "RenderTextControlMultiLine.h"
+#include "RenderTheme.h"
 #include "RenderView.h"
 #include "RuntimeEnabledFeatures.h"
 #include "Settings.h"
@@ -256,8 +263,27 @@
     replacedBoxGeometry.setBorder(logicalBorder(replacedOrInlineBlock, isLeftToRightInlineDirection, writingMode));
     replacedBoxGeometry.setPadding(logicalPadding(replacedOrInlineBlock, isLeftToRightInlineDirection, writingMode));
 
-    auto baseline = replacedOrInlineBlock.baselinePosition(AlphabeticBaseline, false /* firstLine */, writingMode == WritingMode::TopToBottom ? HorizontalLine : VerticalLine, PositionOnContainingLine);
-    replacedBox.setBaseline(roundToInt(baseline));
+    auto hasNonSyntheticBaseline = [&] {
+        if (is<RenderReplaced>(replacedOrInlineBlock)
+            || is<RenderListBox>(replacedOrInlineBlock)
+            || is<RenderSlider>(replacedOrInlineBlock)
+            || is<RenderTextControlMultiLine>(replacedOrInlineBlock)
+            || is<RenderListMarker>(replacedOrInlineBlock)
+#if ENABLE(ATTACHMENT_ELEMENT)
+            || is<RenderAttachment>(replacedOrInlineBlock)
+#endif
+            || is<RenderButton>(replacedOrInlineBlock)) {
+            // These are special RenderBlock renderers that override the default baseline position behavior of the inline block box.
+            return true;
+        }
+        auto& blockFlow = downcast<RenderBlockFlow>(replacedOrInlineBlock);
+        auto hasAppareance = blockFlow.style().hasEffectiveAppearance() && !blockFlow.theme().isControlContainer(blockFlow.style().effectiveAppearance());
+        return hasAppareance || !blockFlow.childrenInline() || blockFlow.hasLines() || blockFlow.hasLineIfEmpty();
+    }();
+    if (hasNonSyntheticBaseline) {
+        auto baseline = replacedOrInlineBlock.baselinePosition(AlphabeticBaseline, false /* firstLine */, writingMode == WritingMode::TopToBottom ? HorizontalLine : VerticalLine, PositionOnContainingLine);
+        replacedBox.setBaseline(roundToInt(baseline));
+    }
 }
 
 void LineLayout::updateLineBreakBoxDimensions(const RenderLineBreak& lineBreakBox)

Modified: trunk/Source/WebCore/rendering/RenderBlock.h (290437 => 290438)


--- trunk/Source/WebCore/rendering/RenderBlock.h	2022-02-24 17:19:25 UTC (rev 290437)
+++ trunk/Source/WebCore/rendering/RenderBlock.h	2022-02-24 17:31:55 UTC (rev 290438)
@@ -320,6 +320,8 @@
 
     static String updateSecurityDiscCharacters(const RenderStyle&, String&&);
 
+    virtual bool hasLineIfEmpty() const;
+
 protected:
     RenderFragmentedFlow* locateEnclosingFragmentedFlow() const override;
     void willBeDestroyed() override;
@@ -369,8 +371,6 @@
     void styleWillChange(StyleDifference, const RenderStyle& newStyle) override;
     void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
 
-    virtual bool hasLineIfEmpty() const;
-    
     virtual bool canPerformSimplifiedLayout() const;
     bool simplifiedLayout();
     virtual void simplifiedNormalFlowLayout();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to