Bug 240858 - Apple Emoji render slightly differently with GPU Process DOM Rendering enabled
Summary: Apple Emoji render slightly differently with GPU Process DOM Rendering enabled
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-05-23 22:33 PDT by Cameron McCormack (:heycam)
Modified: 2022-06-23 12:10 PDT (History)
5 users (show)

See Also:


Attachments
screen shot with GPUP DOM rendering enabled (420.81 KB, image/png)
2022-05-23 22:33 PDT, Cameron McCormack (:heycam)
no flags Details
screen shot with GPUP DOM rendering disabled (420.14 KB, image/png)
2022-05-23 22:33 PDT, Cameron McCormack (:heycam)
no flags Details
screen shot with GPUP DOM rendering enabled (445.89 KB, image/png)
2022-05-23 22:46 PDT, Cameron McCormack (:heycam)
no flags Details
screen shot with GPUP DOM rendering disabled (447.98 KB, image/png)
2022-05-23 22:46 PDT, Cameron McCormack (:heycam)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Cameron McCormack (:heycam) 2022-05-23 22:33:30 PDT
Created attachment 459697 [details]
screen shot with GPUP DOM rendering enabled

Attaching screen shots on iPad with GPUP DOM Rendering enabled and disabled.  Notice that the emoji rendering is slightly different.  This makes me wonder if CoreText is not selecting an emoji of an appropriate size.  Maybe it's unaware of the scale factor when it's drawing to the RemoteDisplayListRecorderProxy?
Comment 1 Cameron McCormack (:heycam) 2022-05-23 22:33:48 PDT
Created attachment 459698 [details]
screen shot with GPUP DOM rendering disabled
Comment 2 Radar WebKit Bug Importer 2022-05-23 22:34:10 PDT
<rdar://problem/93807748>
Comment 3 Cameron McCormack (:heycam) 2022-05-23 22:46:38 PDT
Created attachment 459699 [details]
screen shot with GPUP DOM rendering enabled
Comment 4 Cameron McCormack (:heycam) 2022-05-23 22:46:53 PDT
Created attachment 459700 [details]
screen shot with GPUP DOM rendering disabled
Comment 5 Myles C. Maxfield 2022-05-24 12:35:02 PDT
The blacks look grey I guess. Perhaps there's an issue with transparency?
Comment 6 Cameron McCormack (:heycam) 2022-05-24 22:02:23 PDT
Looks like it's because the CGContext we create in the glyph recorder is created with type kCGContextTypeUnknown, and CoreText assumes that it's not going to get a sensible scale value out of the CTM, and instead assumes some large value, resulting in the largest bitmap strike being chosen.