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)