Title: [272473] trunk/Source/WebCore
Revision
272473
Author
[email protected]
Date
2021-02-07 11:03:41 -0800 (Sun, 07 Feb 2021)

Log Message

[LFC][Integration] Fix http/wpt/css/css-highlight-api/ tests with inlines enabled
https://bugs.webkit.org/show_bug.cgi?id=221529

Reviewed by Zalan Bujtas.

Highlight painting code is currently tied to legacy line boxes. Disallow LFC.

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

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (272472 => 272473)


--- trunk/Source/WebCore/ChangeLog	2021-02-07 15:33:34 UTC (rev 272472)
+++ trunk/Source/WebCore/ChangeLog	2021-02-07 19:03:41 UTC (rev 272473)
@@ -1,3 +1,17 @@
+2021-02-07  Antti Koivisto  <[email protected]>
+
+        [LFC][Integration] Fix http/wpt/css/css-highlight-api/ tests with inlines enabled
+        https://bugs.webkit.org/show_bug.cgi?id=221529
+
+        Reviewed by Zalan Bujtas.
+
+        Highlight painting code is currently tied to legacy line boxes. Disallow LFC.
+
+        * layout/integration/LayoutIntegrationCoverage.cpp:
+        (WebCore::LayoutIntegration::printReason):
+        (WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
+        * layout/integration/LayoutIntegrationCoverage.h:
+
 2021-02-07  Zalan Bujtas  <[email protected]>
 
         [LFC][IFC] A line with no content should always take the fast vertical alignment path

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp (272472 => 272473)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2021-02-07 15:33:34 UTC (rev 272472)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2021-02-07 19:03:41 UTC (rev 272473)
@@ -28,6 +28,7 @@
 
 #include "DocumentMarkerController.h"
 #include "HTMLTextFormControlElement.h"
+#include "HighlightRegister.h"
 #include "InlineIterator.h"
 #include "Logging.h"
 #include "RenderBlockFlow.h"
@@ -236,6 +237,9 @@
     case AvoidanceReason::FlowIncludesDocumentMarkers:
         stream << "text includes document markers";
         break;
+    case AvoidanceReason::FlowIncludesHighlights:
+        stream << "text includes highlights";
+        break;
     case AvoidanceReason::FlowDoesNotEstablishInlineFormattingContext:
         stream << "flow does not establishes inline formatting context";
         break;
@@ -742,6 +746,12 @@
     // Printing does pagination without a flow thread.
     if (flow.document().paginated())
         SET_REASON_AND_RETURN_IF_NEEDED(FlowIsPaginated, reasons, includeReasons);
+    if (flow.document().highlightRegisterIfExists() && !flow.document().highlightRegisterIfExists()->map().isEmpty())
+        SET_REASON_AND_RETURN_IF_NEEDED(FlowIncludesHighlights, reasons, includeReasons);
+#if ENABLE(APP_HIGHLIGHTS)
+    if (flow.document().appHighlightRegisterIfExists() && !flow.document().appHighlightRegisterIfExists()->map().isEmpty())
+        SET_REASON_AND_RETURN_IF_NEEDED(FlowIncludesHighlights, reasons, includeReasons);
+#endif
     if (flow.firstLineBlock())
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasPseudoFirstLine, reasons, includeReasons);
     if (flow.isAnonymousBlock() && flow.parent()->style().textOverflow() == TextOverflow::Ellipsis)

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.h (272472 => 272473)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.h	2021-02-07 15:33:34 UTC (rev 272472)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.h	2021-02-07 19:03:41 UTC (rev 272473)
@@ -89,7 +89,8 @@
     MultiColumnFlowVerticalAlign                 = 1LLU  << 49,
     MultiColumnFlowIsFloating                    = 1LLU  << 50,
     FlowIncludesDocumentMarkers                  = 1LLU  << 51,
-    EndOfReasons                                 = 1LLU  << 52
+    FlowIncludesHighlights                       = 1LLU  << 52,
+    EndOfReasons                                 = 1LLU  << 53
 };
 
 bool canUseForLineLayout(const RenderBlockFlow&);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to