| Index: Source/platform/fonts/FontFallbackList.cpp
|
| diff --git a/Source/platform/fonts/FontFallbackList.cpp b/Source/platform/fonts/FontFallbackList.cpp
|
| index d8eb999702eb9a4d9966a73bb086c4fe1a0bad31..b08441d13815cfedfded42bc0000d0dc5575ba34 100644
|
| --- a/Source/platform/fonts/FontFallbackList.cpp
|
| +++ b/Source/platform/fonts/FontFallbackList.cpp
|
| @@ -46,6 +46,7 @@ FontFallbackList::FontFallbackList()
|
| , m_familyIndex(0)
|
| , m_generation(FontCache::fontCache()->generation())
|
| , m_hasLoadingFallback(false)
|
| + , m_hasCustomFont(false)
|
| {
|
| }
|
|
|
| @@ -58,6 +59,7 @@ void FontFallbackList::invalidate(PassRefPtrWillBeRawPtr<FontSelector> fontSelec
|
| m_cachedPrimarySimpleFontData = 0;
|
| m_familyIndex = 0;
|
| m_hasLoadingFallback = false;
|
| + m_hasCustomFont = false;
|
| m_fontSelector = fontSelector;
|
| m_fontSelectorVersion = m_fontSelector ? m_fontSelector->version() : 0;
|
| m_generation = FontCache::fontCache()->generation();
|
| @@ -90,14 +92,15 @@ bool FontFallbackList::loadingCustomFonts() const
|
|
|
| bool FontFallbackList::shouldSkipDrawing() const
|
| {
|
| - if (!m_hasLoadingFallback)
|
| - return false;
|
| -
|
| - unsigned numFonts = m_fontList.size();
|
| - for (unsigned i = 0; i < numFonts; ++i) {
|
| - if (m_fontList[i]->shouldSkipDrawing())
|
| - return true;
|
| + if (m_hasLoadingFallback) {
|
| + unsigned numFonts = m_fontList.size();
|
| + for (unsigned i = 0; i < numFonts; ++i) {
|
| + if (m_fontList[i]->shouldSkipDrawing())
|
| + return true;
|
| + }
|
| }
|
| + if (m_fontSelector)
|
| + m_fontSelector->reportFirstNonBlankText(m_hasCustomFont);
|
| return false;
|
| }
|
|
|
| @@ -210,6 +213,8 @@ const FontData* FontFallbackList::fontDataAt(const FontDescription& fontDescript
|
| m_fontList.append(result);
|
| if (result->isLoadingFallback())
|
| m_hasLoadingFallback = true;
|
| + if (result->isCustomFont())
|
| + m_hasCustomFont = true;
|
| }
|
| return result.get();
|
| }
|
|
|