| Index: content/common/font_warmup_win.h
|
| diff --git a/content/common/font_warmup_win.h b/content/common/font_warmup_win.h
|
| index 7a0e9b502c7e8c4c3d5c36d29532c3305d63cf8f..f41a952a1d2fe770cae6aeded4c8d69d0381d5ca 100644
|
| --- a/content/common/font_warmup_win.h
|
| +++ b/content/common/font_warmup_win.h
|
| @@ -13,14 +13,6 @@ class SkTypeface;
|
|
|
| namespace content {
|
|
|
| -// Make necessary calls to cache the data for a given font, used before
|
| -// sandbox lockdown.
|
| -CONTENT_EXPORT void DoPreSandboxWarmupForTypeface(SkTypeface* typeface);
|
| -
|
| -// Get the shared font manager used during pre-sandbox warmup for DirectWrite
|
| -// fonts.
|
| -CONTENT_EXPORT SkFontMgr* GetPreSandboxWarmupFontMgr();
|
| -
|
| class GdiFontPatchData {
|
| public:
|
| virtual ~GdiFontPatchData() {}
|
| @@ -43,13 +35,23 @@ CONTENT_EXPORT size_t GetEmulatedGdiHandleCountForTesting();
|
| // Testing method to reset the table of emulated GDI handles.
|
| CONTENT_EXPORT void ResetEmulatedGdiHandlesForTesting();
|
|
|
| -// Sets the pre-sandbox warmup font manager directly. This should only be used
|
| -// for testing the implementation.
|
| -CONTENT_EXPORT void SetPreSandboxWarmupFontMgrForTesting(SkFontMgr* fontmgr);
|
| -
|
| -// Warmup the direct write font manager for content processes.
|
| -CONTENT_EXPORT void WarmupDirectWrite();
|
| -
|
| +// Directwrite connects to the font cache service to retrieve information about
|
| +// fonts installed on the system etc. This works well outside the sandbox and
|
| +// within the sandbox as long as the lpc connection maintained by the current
|
| +// process with the font cache service remains valid. It appears that there
|
| +// are cases when this connection is dropped after which directwrite is unable
|
| +// to connect to the font cache service which causes problems with characters
|
| +// disappearing.
|
| +// Directwrite has fallback code to enumerate fonts if it is unable to connect
|
| +// to the font cache service. We need to intercept the following APIs to
|
| +// ensure that it does not connect to the font cache service.
|
| +// NtALpcConnectPort
|
| +// OpenSCManagerW
|
| +// OpenServiceW
|
| +// StartServiceW
|
| +// CloseServiceHandle.
|
| +// These are all IAT patched.
|
| +CONTENT_EXPORT void PatchServiceManagerCalls();
|
| } // namespace content
|
|
|
| #endif // CONTENT_COMMON_FONT_WARMUP_WIN_H_
|
|
|