Title: [282737] trunk/Source/WebCore
Revision
282737
Author
[email protected]
Date
2021-09-19 10:04:38 -0700 (Sun, 19 Sep 2021)

Log Message

[lFC][Integration] Enable some text painting features
https://bugs.webkit.org/show_bug.cgi?id=230459

Reviewed by Sam Weinig.

Enable text-shadow and background-clip:text.

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForStyle):
* layout/integration/LayoutIntegrationCoverage.h:
* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):

Allow TextClip paint phase.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (282736 => 282737)


--- trunk/Source/WebCore/ChangeLog	2021-09-19 16:42:57 UTC (rev 282736)
+++ trunk/Source/WebCore/ChangeLog	2021-09-19 17:04:38 UTC (rev 282737)
@@ -1,5 +1,23 @@
 2021-09-19  Antti Koivisto  <[email protected]>
 
+        [lFC][Integration] Enable some text painting features
+        https://bugs.webkit.org/show_bug.cgi?id=230459
+
+        Reviewed by Sam Weinig.
+
+        Enable text-shadow and background-clip:text.
+
+        * layout/integration/LayoutIntegrationCoverage.cpp:
+        (WebCore::LayoutIntegration::printReason):
+        (WebCore::LayoutIntegration::canUseForStyle):
+        * layout/integration/LayoutIntegrationCoverage.h:
+        * layout/integration/LayoutIntegrationLineLayout.cpp:
+        (WebCore::LayoutIntegration::LineLayout::paint):
+
+        Allow TextClip paint phase.
+
+2021-09-19  Antti Koivisto  <[email protected]>
+
         [LFC][Integration] Make block selection gap painting use iterator
         https://bugs.webkit.org/show_bug.cgi?id=230457
 

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp (282736 => 282737)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2021-09-19 16:42:57 UTC (rev 282736)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2021-09-19 17:04:38 UTC (rev 282737)
@@ -153,9 +153,6 @@
     case AvoidanceReason::FlowHasTextCombine:
         stream << "text combine";
         break;
-    case AvoidanceReason::FlowHasTextFillBox:
-        stream << "background-color (text-fill)";
-        break;
     case AvoidanceReason::FlowHasBorderFitLines:
         stream << "-webkit-border-fit";
         break;
@@ -192,9 +189,6 @@
     case AvoidanceReason::FlowHasComplexFontCodePath:
         stream << "text with complex font codepath";
         break;
-    case AvoidanceReason::FlowHasTextShadow:
-        stream << "text-shadow";
-        break;
     case AvoidanceReason::FlowChildIsSelected:
         stream << "selected content";
         break;
@@ -509,8 +503,6 @@
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasRTLOrdering, reasons, includeReasons);
     if (style.textEmphasisFill() != TextEmphasisFill::Filled || style.textEmphasisMark() != TextEmphasisMark::None)
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasTextEmphasisFillOrMark, reasons, includeReasons);
-    if (style.textShadow())
-        SET_REASON_AND_RETURN_IF_NEEDED(FlowHasTextShadow, reasons, includeReasons);
     if (style.hasPseudoStyle(PseudoId::FirstLine))
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasPseudoFirstLine, reasons, includeReasons);
     if (style.hasPseudoStyle(PseudoId::FirstLetter))
@@ -517,8 +509,6 @@
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasPseudoFirstLetter, reasons, includeReasons);
     if (style.hasTextCombine())
         SET_REASON_AND_RETURN_IF_NEEDED(FlowHasTextCombine, reasons, includeReasons);
-    if (style.backgroundClip() == FillBox::Text)
-        SET_REASON_AND_RETURN_IF_NEEDED(FlowHasTextFillBox, reasons, includeReasons);
 
     // These are non-standard properties.
     if (style.lineBreak() == LineBreak::AfterWhiteSpace)

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.h (282736 => 282737)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.h	2021-09-19 16:42:57 UTC (rev 282736)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.h	2021-09-19 17:04:38 UTC (rev 282737)
@@ -60,11 +60,11 @@
     FlowHasLineAlignEdges                        = 1LLU  << 20,
     FlowHasLineSnap                              = 1LLU  << 21,
     FlowHasTextEmphasisFillOrMark                = 1LLU  << 22,
-    FlowHasTextShadow                            = 1LLU  << 23,
+    // Unused                                    = 1LLU  << 23,
     FlowHasPseudoFirstLine                       = 1LLU  << 24,
     FlowHasPseudoFirstLetter                     = 1LLU  << 25,
     FlowHasTextCombine                           = 1LLU  << 26,
-    FlowHasTextFillBox                           = 1LLU  << 27,
+    // Unused                                    = 1LLU  << 27,
     FlowHasBorderFitLines                        = 1LLU  << 28,
     FlowHasAfterWhiteSpaceLineBreak              = 1LLU  << 29,
     FlowHasTextSecurity                          = 1LLU  << 30,

Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp (282736 => 282737)


--- trunk/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp	2021-09-19 16:42:57 UTC (rev 282736)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp	2021-09-19 17:04:38 UTC (rev 282737)
@@ -492,7 +492,7 @@
     if (!m_inlineContent)
         return;
 
-    if (paintInfo.phase != PaintPhase::Foreground && paintInfo.phase != PaintPhase::EventRegion)
+    if (paintInfo.phase != PaintPhase::Foreground && paintInfo.phase != PaintPhase::EventRegion && paintInfo.phase != PaintPhase::TextClip)
         return;
 
     auto paintRect = paintInfo.rect;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to