Chromium Code Reviews| Index: Source/core/platform/graphics/SimpleFontData.h |
| diff --git a/Source/core/platform/graphics/SimpleFontData.h b/Source/core/platform/graphics/SimpleFontData.h |
| index 8b15f55d8a657196138ebfae1463c081c32ec65a..d9047841ae7c78799ab95f52d78b118210a3ee02 100644 |
| --- a/Source/core/platform/graphics/SimpleFontData.h |
| +++ b/Source/core/platform/graphics/SimpleFontData.h |
| @@ -47,6 +47,7 @@ |
| namespace WebCore { |
| +class CSSFontFaceSource; |
| class FontDescription; |
| class SharedBuffer; |
| struct WidthIterator; |
| @@ -68,9 +69,9 @@ public: |
| }; |
| // Used to create platform fonts. |
| - static PassRefPtr<SimpleFontData> create(const FontPlatformData& platformData, bool isCustomFont = false, bool isLoading = false, bool isTextOrientationFallback = false) |
| + static PassRefPtr<SimpleFontData> create(const FontPlatformData& platformData, bool isCustomFont = false, bool isLoadingFallback = false, bool isTextOrientationFallback = false) |
| { |
| - return adoptRef(new SimpleFontData(platformData, isCustomFont, isLoading, isTextOrientationFallback)); |
| + return adoptRef(new SimpleFontData(platformData, isCustomFont, isLoadingFallback, isTextOrientationFallback)); |
| } |
| // Used to create SVG Fonts. |
| @@ -156,14 +157,17 @@ public: |
| AdditionalFontData* fontData() const { return m_fontData.get(); } |
| bool isSVGFont() const { return m_fontData; } |
| + bool isLoadingFallback() const { return m_isLoadingFallback; } |
| virtual bool isCustomFont() const { return m_isCustomFont; } |
| - virtual bool isLoading() const { return m_isLoading; } |
| + virtual bool isLoading() const { return m_isLoadingFallback && m_isUsed; } |
| virtual bool isSegmented() const; |
| const GlyphData& missingGlyphData() const { return m_missingGlyphData; } |
| void setMissingGlyphData(const GlyphData& glyphData) { m_missingGlyphData = glyphData; } |
| + void beginLoadIfNeeded() const; |
| + |
| #ifndef NDEBUG |
| virtual String description() const; |
| #endif |
| @@ -190,8 +194,11 @@ public: |
| return false; |
| } |
| + void setCSSFontFaceSource(CSSFontFaceSource* source) { m_fontFaceSource = source; } |
| + void clearCSSFontFaceSource() { m_fontFaceSource = 0; } |
| + |
| private: |
| - SimpleFontData(const FontPlatformData&, bool isCustomFont = false, bool isLoading = false, bool isTextOrientationFallback = false); |
| + SimpleFontData(const FontPlatformData&, bool isCustomFont = false, bool isLoadingFallback = false, bool isTextOrientationFallback = false); |
| SimpleFontData(PassOwnPtr<AdditionalFontData> , float fontSize, bool syntheticBold, bool syntheticItalic); |
| @@ -217,7 +224,7 @@ private: |
| bool m_treatAsFixedPitch; |
| bool m_isCustomFont; // Whether or not we are custom font loaded via @font-face |
| - bool m_isLoading; // Whether or not this custom font is still in the act of loading. |
| + bool m_isLoadingFallback; // Whether or not this is a temporary font data for a custom font which is not yet loaded. |
| bool m_isTextOrientationFallback; |
| bool m_isBrokenIdeographFallback; |
| @@ -258,6 +265,9 @@ private: |
| mutable OwnPtr<DerivedFontData> m_derivedFontData; |
| + mutable bool m_isUsed; |
|
eseidel
2013/09/10 15:07:26
I see. Normally we don't have non-used SimpleFont
Kunihiko Sakamoto
2013/09/11 13:28:09
Thanks for the suggestion. Moved these fields to a
|
| + CSSFontFaceSource* m_fontFaceSource; |
| + |
| #if OS(DARWIN) |
| float m_syntheticBoldOffset; |