Bug 193628 - [GTK] Several layout tests broken by switch to complex text
Summary: [GTK] Several layout tests broken by switch to complex text
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-20 13:26 PST by Michael Catanzaro
Modified: 2019-02-07 01:52 PST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2019-01-20 13:26:45 PST
r238730 "Unreviewed GTK+ gardening. Stop running tests without complex text enforced" broke these layout tests:

fast/css/content-counter-010.htm
https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r240208%20(9437)/fast/css/content-counter-010-diffs.html

This one looks OK. There is a vertical whitespace change, but it can probably just be rebaselined.

fast/text/kerning-with-TextLayout.html
https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r240208%20(9437)/fast/text/kerning-with-TextLayout-diffs.html

Obviously broken, there is now a linebreak between the . and W where there wasn't before.

fast/text/word-space-nbsp.html
https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r240208%20(9437)/fast/text/word-space-nbsp-diffs.html

Same problem: there is a new linebreak where there shouldn't be.
Comment 1 Michael Catanzaro 2019-01-20 15:13:39 PST
(In reply to Michael Catanzaro from comment #0)
> r238730 "Unreviewed GTK+ gardening. Stop running tests without complex text
> enforced" broke these layout tests:
> 
> fast/css/content-counter-010.htm
> https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/
> r240208%20(9437)/fast/css/content-counter-010-diffs.html
> 
> This one looks OK. There is a vertical whitespace change, but it can
> probably just be rebaselined.

Also: fast/text/narrow-non-breaking-space.html
Comment 2 Michael Catanzaro 2019-01-20 15:15:08 PST
I decided not to rebaseline the ones with the vertical whitespace difference because we don't have platform-specific expectations yet, i.e. other ports don't have this new whitespace difference.
Comment 3 Michael Catanzaro 2019-01-20 15:22:56 PST
More:

imported/blink/fast/text/wide-preformatted.html

https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r240208%20(9437)/imported/blink/fast/text/wide-preformatted-diffs.html

"PASS if you can see this" text has disappeared.

imported/blink/fast/text/word-spacing-nbsp.html

https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r240208%20(9437)/imported/blink/fast/text/word-spacing-nbsp-diffs.html

"Should not wrap" text is now wrapping, looks just like fast/text/word-space-nbsp.html. These tests might be redundant, but the Blink version is easier to understand.

imported/mozilla/svg/tspan-rotate-07.svg

https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r240208%20(9437)/imported/mozilla/svg/tspan-rotate-07-diffs.html

Extra horizontal whitespace where there wasn't any before.
Comment 4 Michael Catanzaro 2019-01-20 18:11:39 PST
Even more:

imported/w3c/web-platform-tests/css/css-display/run-in/quotes-applies-to-011.xht

Extra horizontal whitespace.


imported/w3c/web-platform-tests/innerText/getter.html

--- /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/innerText/getter-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/innerText/getter-actual.txt
@@ -7,7 +7,7 @@
 PASS Internal whitespace compressed ("<div>abc  def") 
 PASS \n converted to space ("<div>abc\ndef") 
 PASS \r converted to space ("<div>abc\rdef") 
-PASS \t converted to space ("<div>abc\tdef") 
+FAIL \t converted to space ("<div>abc\tdef") assert_equals: expected "abc def" but got "abc\tdef"
 FAIL Trailing whitespace before hard line break removed ("<div>abc <br>def") assert_equals: expected "abc\ndef" but got "abc \ndef"
 PASS Leading whitespace preserved ("<pre> abc") 
 PASS Trailing whitespace preserved ("<pre>abc ") 
@@ -31,9 +31,9 @@
 PASS Leading whitespace removed ("<div style='white-space:pre-line'> abc") 
 PASS Trailing whitespace removed ("<div style='white-space:pre-line'>abc ") 
 PASS Internal whitespace collapsed ("<div style='white-space:pre-line'>abc  def") 
-FAIL \n preserved ("<div style='white-space:pre-line'>abc\ndef") assert_equals: expected "abc\ndef" but got "abcdef"
-FAIL \r converted to newline ("<div style='white-space:pre-line'>abc\rdef") assert_equals: expected "abc\ndef" but got "abcdef"
-PASS \t converted to space ("<div style='white-space:pre-line'>abc\tdef") 
+FAIL \n preserved ("<div style='white-space:pre-line'>abc\ndef") assert_equals: expected "abc\ndef" but got "abc def"
+FAIL \r converted to newline ("<div style='white-space:pre-line'>abc\rdef") assert_equals: expected "abc\ndef" but got "abc def"
+FAIL \t converted to space ("<div style='white-space:pre-line'>abc\tdef") assert_equals: expected "abc def" but got "abc\tdef"
 PASS Whitespace collapses across element boundaries ("<div><span>abc </span> def") 
 PASS Whitespace collapses across element boundaries ("<div><span>abc </span><span></span> def") 
 FAIL Whitespace collapses across element boundaries ("<div><span>abc </span><span style='white-space:pre'></span> def") assert_equals: expected "abc def" but got "abc  def"
@@ -135,7 +135,7 @@
 FAIL Invisible <p> doesn't induce extra line breaks ("<div style='visibility:hidden'><p><span style='visibility:visible'>abc</span></p>\n<div style='visibility:visible'>def</div>") assert_equals: expected "abc\ndef" but got "abc\n\ndef\n"
 FAIL No blank lines around <div> with margin ("<div>abc<div style='margin:2em'>def") assert_equals: expected "abc\ndef" but got "abc\ndef\n"
 PASS No newlines at display:inline-block boundary ("<div>123<span style='display:inline-block'>abc</span>def") 
-FAIL Leading/trailing space removal at display:inline-block boundary ("<div>123<span style='display:inline-block'> abc </span>def") assert_equals: expected "123abcdef" but got "123abc def"
+FAIL Leading/trailing space removal at display:inline-block boundary ("<div>123<span style='display:inline-block'> abc </span>def") assert_equals: expected "123abcdef" but got "123 abc def"
 FAIL Blank lines around <p> even without margin ("<div>123<p style='margin:0px'>abc</p>def") assert_equals: expected "123\n\nabc\n\ndef" but got "123\nabc\ndef"
 FAIL No blank lines around <h1> ("<div>123<h1>abc</h1>def") assert_equals: expected "123\nabc\ndef" but got "123\nabc\n\ndef"
 FAIL No blank lines around <h2> ("<div>123<h2>abc</h2>def") assert_equals: expected "123\nabc\ndef" but got "123\nabc\n\ndef"

This one must be bug #192750.
Comment 5 Michael Catanzaro 2019-01-20 19:04:10 PST
Also legacy-animation-engine/compositing/geometry/partial-layout-update.html, which is wild, since it seems so unrelated. But the test history doesn't lie: last good run was r238729, first bad r238733.

--- /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/legacy-animation-engine/compositing/geometry/partial-layout-update-actual.txt
@@ -8,3 +8,9 @@
           text run at (0,0) width 360: "The green box should always obscure the red box below."
 layer at (8,42) size 402x202 clip at (9,43) size 400x200
   RenderBlock (relative positioned) {DIV} at (0,34) size 402x202 [border: (1px solid #000000)]
+layer at (9,43) size 200x200
+  RenderBlock (positioned) zI: 3 {DIV} at (1,1) size 200x200 [bgcolor=#BBBBBB]
+layer at (9,43) size 100x100
+  RenderBlock (positioned) {DIV} at (0,0) size 100x100 [bgcolor=#FF0000]
+layer at (9,43) size 100x100
+  RenderBlock {DIV} at (0,0) size 100x100 [bgcolor=#008000]
Comment 6 Michael Catanzaro 2019-01-20 19:32:08 PST
(In reply to Michael Catanzaro from comment #4)
> Even more:
> 
> imported/w3c/web-platform-tests/css/css-display/run-in/quotes-applies-to-011.
> xht
> 
> Extra horizontal whitespace.

Note this one ONLY passes on GTK.
Comment 7 Michael Catanzaro 2019-01-20 19:32:35 PST
(Or rather: only passed on GTK prior to complex text.)
Comment 8 Carlos Garcia Campos 2019-01-20 23:35:10 PST
(In reply to Michael Catanzaro from comment #0)
> r238730 "Unreviewed GTK+ gardening. Stop running tests without complex text
> enforced" broke these layout tests:
> 
> fast/css/content-counter-010.htm
> https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/
> r240208%20(9437)/fast/css/content-counter-010-diffs.html
> 
> This one looks OK. There is a vertical whitespace change, but it can
> probably just be rebaselined.

How can we rebaseline a ref test?

> fast/text/kerning-with-TextLayout.html
> https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/
> r240208%20(9437)/fast/text/kerning-with-TextLayout-diffs.html
> 
> Obviously broken, there is now a linebreak between the . and W where there
> wasn't before.

This test depends on the font, I don't know why, just using font-family in style made it pass for me, I don't remember which one I used.

> fast/text/word-space-nbsp.html
> https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/
> r240208%20(9437)/fast/text/word-space-nbsp-diffs.html
> 
> Same problem: there is a new linebreak where there shouldn't be.

Not the same problem, this is bug #193279
Comment 9 Miguel Gomez 2019-02-07 01:44:47 PST
fast/images/image-map-outline-in-positioned-container.html is passing since r240221
Comment 10 Miguel Gomez 2019-02-07 01:45:42 PST
(In reply to Miguel Gomez from comment #9)
> fast/images/image-map-outline-in-positioned-container.html is passing since
> r240221

Arg, sorry, wrong bug
Comment 11 Miguel Gomez 2019-02-07 01:52:40 PST
imported/blink/fast/text/word-spacing-nbsp.html is passing since r240846