Title: [270027] trunk/Source/WebCore
Revision
270027
Author
[email protected]
Date
2020-11-19 06:19:36 -0800 (Thu, 19 Nov 2020)

Log Message

[LFC][Integration] Disable non-text content with floats
https://bugs.webkit.org/show_bug.cgi?id=219122

Reviewed by Antti Koivisto.

Non-text content may stretch the line and we don't yet have support for dynamic float avoiding (as the line grows).

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (270026 => 270027)


--- trunk/Source/WebCore/ChangeLog	2020-11-19 14:18:29 UTC (rev 270026)
+++ trunk/Source/WebCore/ChangeLog	2020-11-19 14:19:36 UTC (rev 270027)
@@ -1,5 +1,17 @@
 2020-11-19  Zalan Bujtas  <[email protected]>
 
+        [LFC][Integration] Disable non-text content with floats
+        https://bugs.webkit.org/show_bug.cgi?id=219122
+
+        Reviewed by Antti Koivisto.
+
+        Non-text content may stretch the line and we don't yet have support for dynamic float avoiding (as the line grows).
+
+        * layout/integration/LayoutIntegrationCoverage.cpp:
+        (WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
+
+2020-11-19  Zalan Bujtas  <[email protected]>
+
         [LFC][Integration] Allow subpixel difference in the computed containing block height when switching between line layout systems
         https://bugs.webkit.org/show_bug.cgi?id=219143
 

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp (270026 => 270027)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2020-11-19 14:18:29 UTC (rev 270026)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2020-11-19 14:19:36 UTC (rev 270027)
@@ -712,6 +712,10 @@
     // This currently covers <blockflow>#text</blockflow>, <blockflow>#text<br></blockflow> and mutiple (sibling) RenderText cases.
     // The <blockflow><inline>#text</inline></blockflow> case is also popular and should be relatively easy to cover.
     for (const auto* child = flow.firstChild(); child; child = child->nextSibling()) {
+        if (!is<RenderText>(*child) && flow.containsFloats()) {
+            // Non-text content may stretch the line and we don't yet have support for dynamic float avoiding (as the line grows).
+            SET_REASON_AND_RETURN_IF_NEEDED(FlowHasUnsupportedFloat, reasons, includeReasons);
+        }
         auto childReasons = canUseForChild(*child, includeReasons);
         if (childReasons)
             ADD_REASONS_AND_RETURN_IF_NEEDED(childReasons, reasons, includeReasons);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to