summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/SegmentedFontData.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/graphics/SegmentedFontData.h')
-rw-r--r--Source/WebCore/platform/graphics/SegmentedFontData.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/Source/WebCore/platform/graphics/SegmentedFontData.h b/Source/WebCore/platform/graphics/SegmentedFontData.h
index 645dc0d5f..45d7d158c 100644
--- a/Source/WebCore/platform/graphics/SegmentedFontData.h
+++ b/Source/WebCore/platform/graphics/SegmentedFontData.h
@@ -34,7 +34,7 @@ namespace WebCore {
class SimpleFontData;
struct FontDataRange {
- FontDataRange(UChar32 from, UChar32 to, const SimpleFontData* fontData)
+ FontDataRange(UChar32 from, UChar32 to, PassRefPtr<SimpleFontData> fontData)
: m_from(from)
, m_to(to)
, m_fontData(fontData)
@@ -43,16 +43,18 @@ struct FontDataRange {
UChar32 from() const { return m_from; }
UChar32 to() const { return m_to; }
- const SimpleFontData* fontData() const { return m_fontData; }
+ PassRefPtr<SimpleFontData> fontData() const { return m_fontData; }
private:
UChar32 m_from;
UChar32 m_to;
- const SimpleFontData* m_fontData;
+ RefPtr<SimpleFontData> m_fontData;
};
class SegmentedFontData : public FontData {
public:
+ static PassRefPtr<SegmentedFontData> create() { return adoptRef(new SegmentedFontData); }
+
virtual ~SegmentedFontData();
void appendRange(const FontDataRange& range) { m_ranges.append(range); }
@@ -64,6 +66,8 @@ public:
#endif
private:
+ SegmentedFontData() { }
+
virtual const SimpleFontData* fontDataForCharacter(UChar32) const;
virtual bool containsCharacters(const UChar*, int length) const;