NEW 198543
[css-text] line-break: anywhere takes chars of zero-width related classes as forced breaks
https://bugs.webkit.org/show_bug.cgi?id=198543
Summary [css-text] line-break: anywhere takes chars of zero-width related classes as ...
Javier Fernandez
Reported 2019-06-04 14:16:01 PDT
Created attachment 371331 [details] Test case to reproduce the issue What steps will reproduce the problem? (1) Load the attached test case What is the expected result? No char is sick out from the green box; all the zero-width chars are ignored and should not affect the height of the line (expected.png) What happens instead? The 3 zero-width class chars are used as forced break points, affecting the height of the line, which sicks out below the green box (actual.png)
Attachments
Test case to reproduce the issue (372 bytes, text/html)
2019-06-04 14:16 PDT, Javier Fernandez
no flags
Actual result (893 bytes, image/png)
2019-06-04 14:23 PDT, Javier Fernandez
no flags
Expected result (228 bytes, image/png)
2019-06-04 14:24 PDT, Javier Fernandez
no flags
Test case to reproduce the issue (371 bytes, text/html)
2019-06-06 02:43 PDT, Javier Fernandez
no flags
Actual result (510 bytes, image/png)
2019-06-06 02:44 PDT, Javier Fernandez
no flags
Javier Fernandez
Comment 1 2019-06-04 14:23:48 PDT
Created attachment 371333 [details] Actual result
Javier Fernandez
Comment 2 2019-06-04 14:24:07 PDT
Created attachment 371334 [details] Expected result
Javier Fernandez
Comment 3 2019-06-04 14:24:56 PDT
This issue is only reproducible in Mac and iOs platforms, so that means that the bug is in the SimpleLineLayout codepath.
Javier Fernandez
Comment 4 2019-06-06 02:43:42 PDT
Created attachment 371482 [details] Test case to reproduce the issue
Javier Fernandez
Comment 5 2019-06-06 02:44:07 PDT
Created attachment 371483 [details] Actual result
Javier Fernandez
Comment 6 2019-06-06 04:59:39 PDT
After debugging the test case, I've got new information regarding this issue. First of all, this is not affecting the SimpleLineLayout codepath at all, which is not executed if the value of the line-break property is different than 'auto'. Hence, the bug is affecting the BreakingContext path. Additionally, since other ports also use the BreakingContext path, why this bug is not reproducible in WebKitGtk+ ? The reason seems to be that the root cause of this issue is the #196169 bug (maybe duplicated ?) Debugging the attached test case, I've got the following data: * Mac platform - availableWidth (1ch) = 7.796875 - charWidth = 7.80126953 * Gtk platform - availableWidth (1ch) = 8 - charWidth = 8 The consequence of having a charWidth bigger than the availableWidth is that the line breaking logic may have to break just after the char, even that theoretically the single char should fit. Hence, the problem is not related to the line-break: anywhere feature, but more with how WebKit deals with the monospace font and the 'ch' sizing unit.
Note You need to log in before you can comment on or make changes to this bug.