| Index: Source/core/platform/graphics/SimpleFontData.cpp
|
| diff --git a/Source/core/platform/graphics/SimpleFontData.cpp b/Source/core/platform/graphics/SimpleFontData.cpp
|
| index 7276f15eea7fdf515f590afe3cdb671ab0e07bdb..8dcc30f78a7955b0f368b3018b7edf9b10fcd9d9 100644
|
| --- a/Source/core/platform/graphics/SimpleFontData.cpp
|
| +++ b/Source/core/platform/graphics/SimpleFontData.cpp
|
| @@ -30,6 +30,7 @@
|
| #include "config.h"
|
| #include "core/platform/graphics/SimpleFontData.h"
|
|
|
| +#include "core/css/CSSFontFaceSource.h"
|
| #include "core/platform/graphics/opentype/OpenTypeVerticalData.h"
|
|
|
| #include "wtf/MathExtras.h"
|
| @@ -42,19 +43,18 @@ namespace WebCore {
|
| const float smallCapsFontSizeMultiplier = 0.7f;
|
| const float emphasisMarkFontSizeMultiplier = 0.5f;
|
|
|
| -SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCustomFont, bool isLoading, bool isTextOrientationFallback)
|
| +SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCustomFont, bool isLoadingFallback, bool isTextOrientationFallback)
|
| : m_maxCharWidth(-1)
|
| , m_avgCharWidth(-1)
|
| , m_platformData(platformData)
|
| , m_treatAsFixedPitch(false)
|
| - , m_isCustomFont(isCustomFont)
|
| - , m_isLoading(isLoading)
|
| , m_isTextOrientationFallback(isTextOrientationFallback)
|
| , m_isBrokenIdeographFallback(false)
|
| #if ENABLE(OPENTYPE_VERTICAL)
|
| , m_verticalData(0)
|
| #endif
|
| , m_hasVerticalGlyphs(false)
|
| + , m_customFontData(isCustomFont, isLoadingFallback)
|
| {
|
| platformInit();
|
| platformGlyphInit();
|
| @@ -71,14 +71,13 @@ SimpleFontData::SimpleFontData(PassOwnPtr<AdditionalFontData> fontData, float fo
|
| : m_platformData(FontPlatformData(fontSize, syntheticBold, syntheticItalic))
|
| , m_fontData(fontData)
|
| , m_treatAsFixedPitch(false)
|
| - , m_isCustomFont(true)
|
| - , m_isLoading(false)
|
| , m_isTextOrientationFallback(false)
|
| , m_isBrokenIdeographFallback(false)
|
| #if ENABLE(OPENTYPE_VERTICAL)
|
| , m_verticalData(0)
|
| #endif
|
| , m_hasVerticalGlyphs(false)
|
| + , m_customFontData(true, false)
|
| {
|
| m_fontData->initializeFontData(this, fontSize);
|
| }
|
| @@ -226,6 +225,14 @@ PassRefPtr<SimpleFontData> SimpleFontData::brokenIdeographFontData() const
|
| return m_derivedFontData->brokenIdeograph;
|
| }
|
|
|
| +void SimpleFontData::beginLoadIfNeeded() const
|
| +{
|
| + if (!m_customFontData.isUsed && m_customFontData.isLoadingFallback && m_customFontData.fontFaceSource) {
|
| + m_customFontData.isUsed = true;
|
| + m_customFontData.fontFaceSource->beginLoadingFontSoon();
|
| + }
|
| +}
|
| +
|
| #ifndef NDEBUG
|
| String SimpleFontData::description() const
|
| {
|
|
|