Title: [281301] releases/WebKitGTK/webkit-2.32/Source/WebCore
Revision
281301
Author
[email protected]
Date
2021-08-20 02:16:55 -0700 (Fri, 20 Aug 2021)

Log Message

Merge r275130 - Dirty layout for floating children of inline on full layout
https://bugs.webkit.org/show_bug.cgi?id=223660

Patch by Ian Gilbert <[email protected]> on 2021-03-26
Reviewed by Zalan Bujtas.

Avoid consuming an object on an empty line when that object is floating or out-of-flow.

* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleEndOfLine):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog (281300 => 281301)


--- releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog	2021-08-20 08:05:02 UTC (rev 281300)
+++ releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog	2021-08-20 09:16:55 UTC (rev 281301)
@@ -1,3 +1,15 @@
+2021-03-26  Ian Gilbert  <[email protected]>
+
+        Dirty layout for floating children of inline on full layout
+        https://bugs.webkit.org/show_bug.cgi?id=223660
+
+        Reviewed by Zalan Bujtas.
+
+        Avoid consuming an object on an empty line when that object is floating or out-of-flow.
+
+        * rendering/line/BreakingContext.h:
+        (WebCore::BreakingContext::handleEndOfLine):
+
 2021-03-26  Zalan Bujtas  <[email protected]>
 
         [RenderTreeBuilder] No need to update the counters when the renderer is moved internally

Modified: releases/WebKitGTK/webkit-2.32/Source/WebCore/rendering/line/BreakingContext.h (281300 => 281301)


--- releases/WebKitGTK/webkit-2.32/Source/WebCore/rendering/line/BreakingContext.h	2021-08-20 08:05:02 UTC (rev 281300)
+++ releases/WebKitGTK/webkit-2.32/Source/WebCore/rendering/line/BreakingContext.h	2021-08-20 09:16:55 UTC (rev 281301)
@@ -1236,7 +1236,9 @@
         // Empty inline elements like <span></span> can produce such lines and now we just ignore these break opportunities
         // at the start of a line, if no width has been committed yet.
         // Behave as if it was actually empty and consume at least one object.
-        m_lineBreak.increment();
+        auto overflowingBoxIsInlineLevelBox = m_lineBreak.renderer() && !m_lineBreak.renderer()->isFloatingOrOutOfFlowPositioned();
+        if (overflowingBoxIsInlineLevelBox)
+            m_lineBreak.increment();
     }
 
     // Sanity check our whitespace collapsing transitions.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to