Bug 191630 - REGRESSION(r237845): [cairo] Hyperlink underscore layout issue
Summary: REGRESSION(r237845): [cairo] Hyperlink underscore layout issue
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: Regression
Depends on: 191239
Blocks:
  Show dependency treegraph
 
Reported: 2018-11-14 03:30 PST by Jim Mason
Modified: 2018-11-21 06:07 PST (History)
5 users (show)

See Also:


Attachments
Screenshot 2.23.0 (layout problem) (876.87 KB, image/png)
2018-11-14 03:30 PST, Jim Mason
no flags Details
Screenshot 2.22.3 (layout OK) (873.92 KB, image/png)
2018-11-14 03:30 PST, Jim Mason
no flags Details
Patch (1.42 KB, patch)
2018-11-20 02:49 PST, Carlos Garcia Campos
mcatanzaro: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jim Mason 2018-11-14 03:30:01 PST
Created attachment 354792 [details]
Screenshot 2.23.0 (layout problem)

In builds from svn, the hyperlink underscore is very close to the text, such that it is obscured by the text.

Attached are screenshots under 2.23.0 (layout issue) and under 2.22.3 (layout OK).  Both are under epiphany 3.30.2.

The 'Use system fonts' preference has no effect, nor does zooming in or out.
Comment 1 Jim Mason 2018-11-14 03:30:58 PST
Created attachment 354793 [details]
Screenshot 2.22.3 (layout OK)
Comment 2 Michael Catanzaro 2018-11-16 09:46:14 PST
Myles you broke hyperlinks aaaah!
Comment 3 Myles C. Maxfield 2018-11-16 11:13:40 PST
Uh oh, there must have been some subtle difference between the Mac version and the GTK version. From looking at the screenshots it looks like the coordinate system for calculating the intersection positions is wrong. It's difficult for me to debug GTK since I don't have a machine... I'd be happy to work with someone who has a GTK machine to try to figure this out.
Comment 4 Michael Catanzaro 2018-11-19 08:02:36 PST
From bug #191239:

>> Source/WebCore/platform/graphics/FontCascade.cpp:1751
>> +        , m_translation(AffineTransform::translation(textOrigin.x(), textOrigin.y()).scale(1, -1))
>
> This is what broke cairo ports, we didn't have that scale(1, -1) in the cairo impl.
Comment 5 Carlos Garcia Campos 2018-11-20 02:49:31 PST
Created attachment 355329 [details]
Patch
Comment 6 Michael Catanzaro 2018-11-20 07:14:42 PST
Comment on attachment 355329 [details]
Patch

Well it's not a good solution, but this is a release blocker and it would be nice to release.

Maybe Myles would know the right approach.
Comment 7 Myles C. Maxfield 2018-11-20 12:11:38 PST
(In reply to Michael Catanzaro from comment #6)
> Comment on attachment 355329 [details]
> Patch
> 
> Well it's not a good solution, but this is a release blocker and it would be
> nice to release.
> 
> Maybe Myles would know the right approach.

I think this solution is fine.

Sorry for missing that scale :(
Comment 8 Michael Catanzaro 2018-11-20 15:46:51 PST
(In reply to Myles C. Maxfield from comment #7)
> I think this solution is fine.

Why does only one port need the vertical flip? And in cross-platform code?
Comment 9 Carlos Garcia Campos 2018-11-21 01:11:31 PST
Committed r238413: <https://trac.webkit.org/changeset/238413>
Comment 10 Jim Mason 2018-11-21 06:07:16 PST
Thank you!  Fix verified in build from SVN source 2018-11-21 @ 1200WET