Index: content/renderer/renderer_main_platform_delegate_win.cc |
diff --git a/content/renderer/renderer_main_platform_delegate_win.cc b/content/renderer/renderer_main_platform_delegate_win.cc |
index 56d81ee47774c580d99c7937e9df6240040c3a35..f02258806025ae20a704274f136f23fef00b988d 100644 |
--- a/content/renderer/renderer_main_platform_delegate_win.cc |
+++ b/content/renderer/renderer_main_platform_delegate_win.cc |
@@ -66,6 +66,28 @@ void CreateDirectWriteFactory(IDWriteFactory** factory) { |
reinterpret_cast<IUnknown**>(factory)))); |
} |
+void WarmupFontPaint(SkTypeface* typeface) { |
+ SkPaint paint_warmup; |
+ paint_warmup.setTypeface(typeface); |
+ wchar_t glyph = L'S'; |
+ paint_warmup.measureText(&glyph, 2); |
+} |
+ |
+// DirectWrite only has access to %WINDIR%\Fonts by default. For developer |
+// side-loading, support kRegisterFontFiles to allow access to additional fonts. |
+void RegisterSideloadedTypefaces(SkFontMgr* fontmgr) { |
+ std::vector<std::string> files; |
+ if (GetSideloadFontFiles(&files)) { |
+ for (std::vector<std::string>::const_iterator i(files.begin()); |
+ i != files.end(); |
+ ++i) { |
+ SkTypeface* typeface = fontmgr->createFromFile(i->c_str()); |
+ WarmupFontPaint(typeface); |
+ blink::WebFontRendering::addSideloadedFontForTesting(typeface); |
+ } |
+ } |
+} |
+ |
void WarmupDirectWrite() { |
// The objects used here are intentionally not freed as we want the Skia |
// code to use these objects after warmup. |
@@ -74,10 +96,11 @@ void WarmupDirectWrite() { |
blink::WebFontRendering::setDirectWriteFactory(factory); |
SkFontMgr* fontmgr = SkFontMgr_New_DirectWrite(factory); |
SkTypeface* typeface = fontmgr->legacyCreateTypeface("Times New Roman", 0); |
- SkPaint paint_warmup; |
- paint_warmup.setTypeface(typeface); |
- wchar_t glyph = L'S'; |
- paint_warmup.measureText(&glyph, 2); |
+ WarmupFontPaint(typeface); |
+ |
+ // Register auxiliary non-system installed fonts. This is primarily for |
+ // Blink layout tests. |
jam
2014/04/14 05:40:02
since this is only for layout tests, can you do th
scottmg
2014/04/14 15:48:58
It's mostly for Blink but is useful for testing to
jschuh
2014/04/14 15:58:51
I'm inclined to say keep it in Chrome just to make
jam
2014/04/14 16:20:59
note that testing could still be done using conten
|
+ RegisterSideloadedTypefaces(fontmgr); |
} |
} // namespace |