Title: [291303] trunk
Revision
291303
Author
[email protected]
Date
2022-03-15 10:36:18 -0700 (Tue, 15 Mar 2022)

Log Message

background-clip:text doesn't work with display:flex
https://bugs.webkit.org/show_bug.cgi?id=169125
<rdar://problem/72432683>

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-expected.html: Added.
* web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-ref.html: Added.
* web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex.html: Added.

Source/WebCore:

Tests: imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex.html

* rendering/RenderElement.cpp:
(WebCore::RenderElement::paintAsInlineBlock):

Flexbox children paint as inline blocks. This path didn't support text clip paint phase.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (291302 => 291303)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2022-03-15 17:31:04 UTC (rev 291302)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2022-03-15 17:36:18 UTC (rev 291303)
@@ -1,3 +1,15 @@
+2022-03-15  Antti Koivisto  <[email protected]>
+
+        background-clip:text doesn't work with display:flex
+        https://bugs.webkit.org/show_bug.cgi?id=169125
+        <rdar://problem/72432683>
+
+        Reviewed by Simon Fraser.
+
+        * web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-expected.html: Added.
+        * web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-ref.html: Added.
+        * web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex.html: Added.
+
 2022-03-15  Joseph Griego  <[email protected]>
 
         Expose some web APIs on Shadow Realms and Worklets

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-expected.html (0 => 291303)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-expected.html	2022-03-15 17:36:18 UTC (rev 291303)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<link rel="stylesheet" href=""
+<style>
+.clip {
+  font-size: 80px;
+  color: green;
+}
+.flex {
+    display: flex;
+}
+.inline-flex {
+    display: inline-flex;
+}
+</style>
+<div class="clip flex">flex</div>
+<div class="clip inline-flex">inline-flex</div>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-ref.html (0 => 291303)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-ref.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex-ref.html	2022-03-15 17:36:18 UTC (rev 291303)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<link rel="stylesheet" href=""
+<style>
+.clip {
+  font-size: 80px;
+  color: green;
+}
+.flex {
+    display: flex;
+}
+.inline-flex {
+    display: inline-flex;
+}
+</style>
+<div class="clip flex">flex</div>
+<div class="clip inline-flex">inline-flex</div>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex.html (0 => 291303)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex.html	2022-03-15 17:36:18 UTC (rev 291303)
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<title>background-clip:text with display:flex</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<link rel="stylesheet" href=""
+<style>
+.clip {
+  font-size: 80px;
+  color: transparent;
+  background-color: green;
+  background-clip: text;
+}
+.flex {
+    display: flex;
+}
+.inline-flex {
+    display: inline-flex;
+}
+</style>
+<div class="clip flex">flex</div>
+<div class="clip inline-flex">inline-flex</div>

Modified: trunk/Source/WebCore/ChangeLog (291302 => 291303)


--- trunk/Source/WebCore/ChangeLog	2022-03-15 17:31:04 UTC (rev 291302)
+++ trunk/Source/WebCore/ChangeLog	2022-03-15 17:36:18 UTC (rev 291303)
@@ -1,3 +1,18 @@
+2022-03-15  Antti Koivisto  <[email protected]>
+
+        background-clip:text doesn't work with display:flex
+        https://bugs.webkit.org/show_bug.cgi?id=169125
+        <rdar://problem/72432683>
+
+        Reviewed by Simon Fraser.
+
+        Tests: imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-text-flex.html
+
+        * rendering/RenderElement.cpp:
+        (WebCore::RenderElement::paintAsInlineBlock):
+
+        Flexbox children paint as inline blocks. This path didn't support text clip paint phase.
+
 2022-03-15  Alex Christensen  <[email protected]>
 
         Stop using DYLD_INTERPOSE

Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (291302 => 291303)


--- trunk/Source/WebCore/rendering/RenderElement.cpp	2022-03-15 17:31:04 UTC (rev 291302)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp	2022-03-15 17:36:18 UTC (rev 291303)
@@ -1083,7 +1083,7 @@
     // (See Appendix E.2, section 6.4 on inline block/table/replaced elements in the CSS2.1 specification.)
     // This is also used by other elements (e.g. flex items and grid items).
     PaintPhase paintPhaseToUse = isExcludedAndPlacedInBorder() ? paintInfo.phase : PaintPhase::Foreground;
-    if (paintInfo.phase == PaintPhase::Selection || paintInfo.phase == PaintPhase::EventRegion)
+    if (paintInfo.phase == PaintPhase::Selection || paintInfo.phase == PaintPhase::EventRegion || paintInfo.phase == PaintPhase::TextClip)
         paint(paintInfo, childPoint);
     else if (paintInfo.phase == paintPhaseToUse) {
         paintPhase(*this, PaintPhase::BlockBackground, paintInfo, childPoint);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to