OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 USING_FAST_MALLOC(FontSetCache); | 225 USING_FAST_MALLOC(FontSetCache); |
226 public: | 226 public: |
227 static FontSetCache& shared() | 227 static FontSetCache& shared() |
228 { | 228 { |
229 DEFINE_STATIC_LOCAL(FontSetCache, cache, ()); | 229 DEFINE_STATIC_LOCAL(FontSetCache, cache, ()); |
230 return cache; | 230 return cache; |
231 } | 231 } |
232 | 232 |
233 WebFallbackFont fallbackFontForCharInLocale(WebUChar32 c, const char* locale
) | 233 WebFallbackFont fallbackFontForCharInLocale(WebUChar32 c, const char* locale
) |
234 { | 234 { |
235 DEFINE_STATIC_LOCAL(AtomicString, noLocale, ("NO_LOCALE_SPECIFIED", Atom
icString::ConstructFromLiteral)); | 235 DEFINE_STATIC_LOCAL(AtomicString, noLocale, ("NO_LOCALE_SPECIFIED")); |
236 AtomicString localeKey; | 236 AtomicString localeKey; |
237 if (locale && strlen(locale)) { | 237 if (locale && strlen(locale)) { |
238 localeKey = AtomicString(locale); | 238 localeKey = AtomicString(locale); |
239 } else { | 239 } else { |
240 // String hash computation the m_setsByLocale map needs | 240 // String hash computation the m_setsByLocale map needs |
241 // a non-empty string. | 241 // a non-empty string. |
242 localeKey = noLocale; | 242 localeKey = noLocale; |
243 } | 243 } |
244 | 244 |
245 LocaleToCachedFont::iterator itr = m_setsByLocale.find(localeKey); | 245 LocaleToCachedFont::iterator itr = m_setsByLocale.find(localeKey); |
(...skipping 14 matching lines...) Expand all Loading... |
260 typedef HashMap<AtomicString, OwnPtr<CachedFontSet>> LocaleToCachedFont; | 260 typedef HashMap<AtomicString, OwnPtr<CachedFontSet>> LocaleToCachedFont; |
261 LocaleToCachedFont m_setsByLocale; | 261 LocaleToCachedFont m_setsByLocale; |
262 }; | 262 }; |
263 | 263 |
264 void WebFontInfo::fallbackFontForChar(WebUChar32 c, const char* locale, WebFallb
ackFont* fallbackFont) | 264 void WebFontInfo::fallbackFontForChar(WebUChar32 c, const char* locale, WebFallb
ackFont* fallbackFont) |
265 { | 265 { |
266 *fallbackFont = FontSetCache::shared().fallbackFontForCharInLocale(c, locale
); | 266 *fallbackFont = FontSetCache::shared().fallbackFontForCharInLocale(c, locale
); |
267 } | 267 } |
268 | 268 |
269 } // namespace blink | 269 } // namespace blink |
OLD | NEW |