Index: third_party/WebKit/Source/platform/fonts/FontCache.cpp |
diff --git a/third_party/WebKit/Source/platform/fonts/FontCache.cpp b/third_party/WebKit/Source/platform/fonts/FontCache.cpp |
index 500a8848955c2cc658349e3bc0c815cc5ccddbb4..76645b1a28432206651211936d21657e5b5bbe82 100644 |
--- a/third_party/WebKit/Source/platform/fonts/FontCache.cpp |
+++ b/third_party/WebKit/Source/platform/fonts/FontCache.cpp |
@@ -107,6 +107,29 @@ FontPlatformData* FontCache::getFontPlatformData( |
platformInit(); |
} |
+ if (creationParams.creationType() == CreateFontByFamily) { |
+#if OS(MACOSX) |
+ if (creationParams.family() == FontCache::legacySystemFontFamily()) { |
+ return getFontPlatformData( |
+ fontDescription, FontFaceCreationParams(FontFamilyNames::system_ui), |
+ true); |
+ } |
+#else |
+ if (creationParams.family() == FontFamilyNames::system_ui) { |
+ const AtomicString& actualFamily = FontCache::systemFontFamily(); |
+#if OS(LINUX) |
+ if (actualFamily.isEmpty() || actualFamily == FontFamilyNames::system_ui) |
+ return nullptr; |
+#else |
+ DCHECK(!actualFamily.isEmpty() && |
+ actualFamily != FontFamilyNames::system_ui); |
+#endif |
+ return getFontPlatformData(fontDescription, |
+ FontFaceCreationParams(actualFamily), true); |
+ } |
+#endif |
+ } |
+ |
float size = fontDescription.effectiveFontSize(); |
unsigned roundedSize = size * FontCacheKey::precisionMultiplier(); |
FontCacheKey key = fontDescription.cacheKey(creationParams); |