Cherry pick: Fix generic font family issue on Android
Bug: 13237403
Original description:
Fix generic font family issue on Android
- standard font family should go Android path on Android;
- for non-generic font families, familyNameFromSettings should return
an empty AtomicString.
BUG=347121
TEST=platform/android/fast/text/international/non-generic-font-fallback.html
R=dglazkov@chromium.org
Committed:
https://src.chromium.org/viewvc/blink?view=rev&revision=168173
Change-Id: I6962d496c3a2f320a993e8d4bce02ee33dca983b
diff --git a/Source/core/css/CSSFontSelector.cpp b/Source/core/css/CSSFontSelector.cpp
index 166e2c3..9b83e9e 100644
--- a/Source/core/css/CSSFontSelector.cpp
+++ b/Source/core/css/CSSFontSelector.cpp
@@ -167,12 +167,15 @@
{
UScriptCode script = fontDescription.script();
+#if OS(ANDROID)
+ if (fontDescription.genericFamily() == FontDescription::StandardFamily && !fontDescription.isSpecifiedFont())
+ return FontCache::getGenericFamilyNameForScript(FontFamilyNames::webkit_standard, script);
+
+ if (genericFamilyName.startsWith("-webkit-"))
+ return FontCache::getGenericFamilyNameForScript(genericFamilyName, script);
+#else
if (fontDescription.genericFamily() == FontDescription::StandardFamily && !fontDescription.isSpecifiedFont())
return settings.standard(script);
-
-#if OS(ANDROID)
- return FontCache::getGenericFamilyNameForScript(genericFamilyName, script);
-#else
if (genericFamilyName == FontFamilyNames::webkit_serif)
return settings.serif(script);
if (genericFamilyName == FontFamilyNames::webkit_sans_serif)