Index: third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp |
diff --git a/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp b/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp |
index 9e2f7619b4f1354be3089543ae8859c1a46f10c1..92e7188178d7a40b4789aeb7a244ac3585707e46 100644 |
--- a/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp |
+++ b/third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp |
@@ -97,19 +97,18 @@ void FontCache::setStatusFontMetrics(const wchar_t* familyName, int32_t fontHeig |
FontCache::FontCache() |
: m_purgePreventCount(0) |
{ |
- SkFontMgr* fontManager; |
- |
- if (s_useDirectWrite) { |
- fontManager = SkFontMgr_New_DirectWrite(s_directWriteFactory); |
- s_useSubpixelPositioning = true; |
+ if (s_fontManager) { |
+ m_fontManager = s_fontManager; |
+ } else if (s_useDirectWrite) { |
+ m_fontManager = adoptRef(SkFontMgr_New_DirectWrite()); |
} else { |
- fontManager = SkFontMgr_New_GDI(); |
- // Subpixel text positioning is not supported by the GDI backend. |
- s_useSubpixelPositioning = false; |
+ m_fontManager = adoptRef(SkFontMgr_New_GDI()); |
} |
- ASSERT(fontManager); |
- m_fontManager = adoptPtr(fontManager); |
+ // Subpixel text positioning is only supported by the DirectWrite backend (not GDI). |
+ s_useSubpixelPositioning = s_useDirectWrite; |
+ |
+ ASSERT(m_fontManager.get()); |
} |
void FontCache::acceptLanguagesChanged(const String&) |