Fix gdi32 GetFontData() patching for printing.
On Windows, GetFontData() calls from within sandboxed processes have to use the font_cache mechanism to work correctly. This requires a correctly patched GetFontData(), which broke in M76. https://crbug.com/980577 broke Import Address Table patching for gdi32.dll. This eventually got fixed, but the final fix in https://crrev.com/686696 tried to minimize the amount of patching necessary, and did not get it 100% correct for printing use cases. As a result, sometimes utility processes used for printing did not get patched. This fix by patching utility processes in InitializePDF(). Rearrange the function and update comments along the way. The font_cache mechanism in the Cloud Print service process also broke around the same time due to https://crrev.com/660952, but that just got fixed in https://crrev.com/700317. Bug: 1005867 Change-Id: I0bb691d8208fbbb9bf885767a959119a388def09 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1826197Reviewed-by:Ken Rockot <rockot@google.com> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#700918}
Showing
Please register or sign in to comment