Title: [262033] trunk
- Revision
- 262033
- Author
- obru...@igalia.com
- Date
- 2020-05-21 15:59:01 -0700 (Thu, 21 May 2020)
Log Message
[css-grid] Don't create renderers for whitespace nodes
https://bugs.webkit.org/show_bug.cgi?id=212220
Reviewed by Manuel Rego Casasnovas.
LayoutTests/imported/w3c:
Import WPT test.
* web-platform-tests/css/css-grid/grid-items/w3c-import.log:
* web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001-expected.html: Added.
* web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001.html: Added.
Source/WebCore:
Even with 'white-space: pre' we shouldn't create RenderTexts
for whitespace-only nodes in grid layout, according to
https://drafts.csswg.org/css-grid/#grid-items
This patch is based on https://codereview.chromium.org/16888008
Tests: fast/text/simple-line-layout-with-zero-sized-font.html
imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001.html
* rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::textRendererIsNeeded):
LayoutTests:
Update test expectation.
* fast/text/simple-line-layout-with-zero-sized-font-expected.txt:
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (262032 => 262033)
--- trunk/LayoutTests/ChangeLog 2020-05-21 22:30:01 UTC (rev 262032)
+++ trunk/LayoutTests/ChangeLog 2020-05-21 22:59:01 UTC (rev 262033)
@@ -1,3 +1,14 @@
+2020-05-21 Oriol Brufau <obru...@igalia.com>
+
+ [css-grid] Don't create renderers for whitespace nodes
+ https://bugs.webkit.org/show_bug.cgi?id=212220
+
+ Reviewed by Manuel Rego Casasnovas.
+
+ Update test expectation.
+
+ * fast/text/simple-line-layout-with-zero-sized-font-expected.txt:
+
2020-05-21 Diego Pino Garcia <dp...@igalia.com>
[GTK] Gardening, update expectations after r262016
Modified: trunk/LayoutTests/fast/text/simple-line-layout-with-zero-sized-font-expected.txt (262032 => 262033)
--- trunk/LayoutTests/fast/text/simple-line-layout-with-zero-sized-font-expected.txt 2020-05-21 22:30:01 UTC (rev 262032)
+++ trunk/LayoutTests/fast/text/simple-line-layout-with-zero-sized-font-expected.txt 2020-05-21 22:59:01 UTC (rev 262033)
@@ -1,2 +1,2 @@
PASS if no assert in debug.
-
+
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (262032 => 262033)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2020-05-21 22:30:01 UTC (rev 262032)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2020-05-21 22:59:01 UTC (rev 262033)
@@ -1,3 +1,16 @@
+2020-05-21 Oriol Brufau <obru...@igalia.com>
+
+ [css-grid] Don't create renderers for whitespace nodes
+ https://bugs.webkit.org/show_bug.cgi?id=212220
+
+ Reviewed by Manuel Rego Casasnovas.
+
+ Import WPT test.
+
+ * web-platform-tests/css/css-grid/grid-items/w3c-import.log:
+ * web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001-expected.html: Added.
+ * web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001.html: Added.
+
2020-05-20 Oriol Brufau <obru...@igalia.com>
Computed min-width/height for auto depends on box
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/w3c-import.log (262032 => 262033)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/w3c-import.log 2020-05-21 22:30:01 UTC (rev 262032)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/w3c-import.log 2020-05-21 22:59:01 UTC (rev 262033)
@@ -259,3 +259,5 @@
/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/ref-filled-green-100px-square-image.html
/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/table-with-infinite-max-intrinsic-width-expected.html
/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/table-with-infinite-max-intrinsic-width.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001.html
Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001-expected.html (0 => 262033)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001-expected.html (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001-expected.html 2020-05-21 22:59:01 UTC (rev 262033)
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<link href="" rel="stylesheet">
+<style>
+ .item {
+ height: 100%;
+ width: 30px;
+ background: salmon;
+ }
+</style>
+<body>
+ <p>This test passes if it has the same output than the reference. As spec states that child text runs containing only white space should not rendered (just as if its text nodes were display:none).</p>
+ <div class="grid">
+ <div class="item"></div>
+ </div>
+</body>
+</html>
Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001.html (0 => 262033)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001.html (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001.html 2020-05-21 22:59:01 UTC (rev 262033)
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<title>CSS Grid : Whitespace in grid item</title>
+<link rel="author" title="Christian Biesinger" href=""
+<link rel="help" href=""
+<link rel="match" href=""
+<link rel="help" href=""
+<meta name="assert" content="Grid items shouldn't be created for white spaces."/>
+<link href="" rel="stylesheet">
+<style>
+ .grid {
+ white-space: pre;
+ }
+ .item {
+ height: 100%;
+ width: 30px;
+ background: salmon;
+ }
+</style>
+<body>
+ <p>This test passes if it has the same output than the reference. As spec states that child text runs containing only white space should not rendered (just as if its text nodes were display:none).</p>
+ <div class="grid">
+
+ <div class="item"></div> 	
+ </div>
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (262032 => 262033)
--- trunk/Source/WebCore/ChangeLog 2020-05-21 22:30:01 UTC (rev 262032)
+++ trunk/Source/WebCore/ChangeLog 2020-05-21 22:59:01 UTC (rev 262033)
@@ -1,3 +1,22 @@
+2020-05-21 Oriol Brufau <obru...@igalia.com>
+
+ [css-grid] Don't create renderers for whitespace nodes
+ https://bugs.webkit.org/show_bug.cgi?id=212220
+
+ Reviewed by Manuel Rego Casasnovas.
+
+ Even with 'white-space: pre' we shouldn't create RenderTexts
+ for whitespace-only nodes in grid layout, according to
+ https://drafts.csswg.org/css-grid/#grid-items
+
+ This patch is based on https://codereview.chromium.org/16888008
+
+ Tests: fast/text/simple-line-layout-with-zero-sized-font.html
+ imported/w3c/web-platform-tests/css/css-grid/grid-items/whitespace-in-grid-item-001.html
+
+ * rendering/updating/RenderTreeUpdater.cpp:
+ (WebCore::RenderTreeUpdater::textRendererIsNeeded):
+
2020-05-21 Simon Fraser <simon.fra...@apple.com>
Fix rare crash in TileGrid::platformCALayerShowRepaintCounter()
Modified: trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp (262032 => 262033)
--- trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp 2020-05-21 22:30:01 UTC (rev 262032)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp 2020-05-21 22:59:01 UTC (rev 262033)
@@ -427,10 +427,8 @@
if (is<RenderText>(renderingParent.previousChildRenderer))
return true;
// This text node has nothing but white space. We may still need a renderer in some cases.
- if (parentRenderer.isTable() || parentRenderer.isTableRow() || parentRenderer.isTableSection() || parentRenderer.isRenderTableCol() || parentRenderer.isFrameSet())
+ if (parentRenderer.isTable() || parentRenderer.isTableRow() || parentRenderer.isTableSection() || parentRenderer.isRenderTableCol() || parentRenderer.isFrameSet() || parentRenderer.isRenderGrid() || (parentRenderer.isFlexibleBox() && !parentRenderer.isRenderButton()))
return false;
- if (parentRenderer.isFlexibleBox() && !parentRenderer.isRenderButton())
- return false;
if (parentRenderer.style().preserveNewline()) // pre/pre-wrap/pre-line always make renderers.
return true;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes