Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(752)

Unified Diff: third_party/WebKit/Source/platform/fonts/GenericFontFamilySettings.cpp

Issue 2441343003: Allow the default generic font family settings to find the first available font (Closed)
Patch Set: msw review Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/fonts/GenericFontFamilySettings.cpp
diff --git a/third_party/WebKit/Source/platform/fonts/GenericFontFamilySettings.cpp b/third_party/WebKit/Source/platform/fonts/GenericFontFamilySettings.cpp
index bcaf2310218dbe2c7852f3bbaf779e733a0efb99..1f9fc5f54f0977c1a5e98e9ade6ec12edaaa667e 100644
--- a/third_party/WebKit/Source/platform/fonts/GenericFontFamilySettings.cpp
+++ b/third_party/WebKit/Source/platform/fonts/GenericFontFamilySettings.cpp
@@ -30,6 +30,8 @@
#include "platform/fonts/GenericFontFamilySettings.h"
+#include "platform/fonts/FontCache.h"
+
namespace blink {
GenericFontFamilySettings::GenericFontFamilySettings(
@@ -75,10 +77,14 @@ void GenericFontFamilySettings::setGenericFontFamilyMap(
const AtomicString& GenericFontFamilySettings::genericFontFamilyForScript(
const ScriptFontFamilyMap& fontMap,
UScriptCode script) const {
- ScriptFontFamilyMap::const_iterator it =
- fontMap.find(static_cast<int>(script));
- if (it != fontMap.end())
+ ScriptFontFamilyMap::iterator it =
+ const_cast<ScriptFontFamilyMap&>(fontMap).find(static_cast<int>(script));
+ if (it != fontMap.end()) {
+ // Replace with the first available font if it starts with ",".
+ if (!it->value.isEmpty() && it->value[0] == ',')
+ it->value = AtomicString(FontCache::firstAvailableOrFirst(it->value));
return it->value;
+ }
if (script != USCRIPT_COMMON)
return genericFontFamilyForScript(fontMap, USCRIPT_COMMON);
return emptyAtom;

Powered by Google App Engine
This is Rietveld 408576698