OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_COMMON_FONT_WARMUP_WIN_H_ | 5 #ifndef CONTENT_COMMON_FONT_WARMUP_WIN_H_ |
6 #define CONTENT_COMMON_FONT_WARMUP_WIN_H_ | 6 #define CONTENT_COMMON_FONT_WARMUP_WIN_H_ |
7 | 7 |
8 #include "base/files/file_path.h" | |
8 #include "content/common/content_export.h" | 9 #include "content/common/content_export.h" |
9 | 10 |
10 class SkFontMgr; | 11 class SkFontMgr; |
11 class SkTypeface; | 12 class SkTypeface; |
12 | 13 |
13 namespace content { | 14 namespace content { |
14 | 15 |
15 // Make necessary calls to cache the data for a given font, used before | 16 // Make necessary calls to cache the data for a given font, used before |
16 // sandbox lockdown. | 17 // sandbox lockdown. |
17 CONTENT_EXPORT void DoPreSandboxWarmupForTypeface(SkTypeface* typeface); | 18 CONTENT_EXPORT void DoPreSandboxWarmupForTypeface(SkTypeface* typeface); |
18 | 19 |
19 // Get the shared font manager used during pre-sandbox warmup for DirectWrite | 20 // Get the shared font manager used during pre-sandbox warmup for DirectWrite |
20 // fonts. | 21 // fonts. |
21 CONTENT_EXPORT SkFontMgr* GetPreSandboxWarmupFontMgr(); | 22 CONTENT_EXPORT SkFontMgr* GetPreSandboxWarmupFontMgr(); |
22 | 23 |
24 class GdiFontPatchData { | |
25 public: | |
26 virtual ~GdiFontPatchData() {} | |
27 | |
28 protected: | |
29 GdiFontPatchData() {} | |
30 | |
31 private: | |
32 DISALLOW_COPY_AND_ASSIGN(GdiFontPatchData); | |
33 }; | |
34 | |
35 // Hook a module's imported GDI font functions to reimplement font enumeration | |
36 // and font data retrieval for DLLs which can't be easily modified. | |
37 CONTENT_EXPORT GdiFontPatchData* PatchGdiFontEnumeration( | |
38 const base::FilePath& path); | |
39 | |
40 // Testing method to get the number of in-flight emulated GDI handles. | |
41 CONTENT_EXPORT size_t GetEmulatedGdiHandleCount(); | |
42 | |
43 // Testing method to reset the table of emulated GDI handles. | |
44 CONTENT_EXPORT void ResetEmulatedGdiHandles(); | |
45 | |
46 // Sets the pre-sandbox warmup font manager directly. This should only be used | |
47 // for testing the implementation. | |
48 CONTENT_EXPORT void SetPreSandboxWarmupFontMgr(SkFontMgr* fontmgr); | |
nasko
2015/09/21 15:58:20
Testing only methods should indicate this somehow
forshaw
2015/09/21 22:06:20
Acknowledged.
| |
49 | |
23 // Warmup the direct write font manager for content processes. | 50 // Warmup the direct write font manager for content processes. |
24 CONTENT_EXPORT void WarmupDirectWrite(); | 51 CONTENT_EXPORT void WarmupDirectWrite(); |
25 | 52 |
26 } // namespace content | 53 } // namespace content |
27 | 54 |
28 #endif // CONTENT_COMMON_FONT_WARMUP_WIN_H_ | 55 #endif // CONTENT_COMMON_FONT_WARMUP_WIN_H_ |
OLD | NEW |