summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h')
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h b/src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h
index 07938ae..14ebbe4 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h
@@ -31,6 +31,7 @@
namespace WebCore {
class Font;
+class GlyphPageTreeNode;
class GraphicsContext;
class IntRect;
class FontDescription;
@@ -57,7 +58,15 @@ public:
private:
FontFallbackList();
- const FontData* primaryFont(const Font* f) const { return fontDataAt(f, 0); }
+ const SimpleFontData* primarySimpleFontData(const Font* f)
+ {
+ ASSERT(isMainThread());
+ if (!m_cachedPrimarySimpleFontData)
+ m_cachedPrimarySimpleFontData = primaryFontData(f)->fontDataForCharacter(' ');
+ return m_cachedPrimarySimpleFontData;
+ }
+
+ const FontData* primaryFontData(const Font* f) const { return fontDataAt(f, 0); }
const FontData* fontDataAt(const Font*, unsigned index) const;
const FontData* fontDataForCharacters(const Font*, const UChar*, int length) const;
@@ -66,6 +75,9 @@ private:
void releaseFontData();
mutable Vector<pair<const FontData*, bool>, 1> m_fontList;
+ mutable HashMap<int, GlyphPageTreeNode*> m_pages;
+ mutable GlyphPageTreeNode* m_pageZero;
+ mutable const SimpleFontData* m_cachedPrimarySimpleFontData;
RefPtr<FontSelector> m_fontSelector;
mutable int m_familyIndex;
mutable Pitch m_pitch;