Index: Source/core/css/CSSFontFace.h |
diff --git a/Source/core/css/CSSFontFace.h b/Source/core/css/CSSFontFace.h |
index e921f5023d841d7d4c8e985e877c33c86bb9c620..128ab417444cddecdff5e25d99884106c4732fa8 100644 |
--- a/Source/core/css/CSSFontFace.h |
+++ b/Source/core/css/CSSFontFace.h |
@@ -28,23 +28,24 @@ |
#include "core/css/CSSFontFaceRule.h" |
#include "core/css/CSSFontFaceSource.h" |
+#include "core/css/CSSSegmentedFontFace.h" |
#include "core/platform/graphics/FontTraitsMask.h" |
+#include "heap/Handle.h" |
#include <wtf/Forward.h> |
#include <wtf/HashSet.h> |
#include <wtf/PassRefPtr.h> |
-#include <wtf/RefCounted.h> |
#include <wtf/unicode/Unicode.h> |
#include <wtf/Vector.h> |
namespace WebCore { |
-class CSSSegmentedFontFace; |
class FontDescription; |
class SimpleFontData; |
-class CSSFontFace : public RefCounted<CSSFontFace> { |
+class CSSFontFace : public HeapAllocatedFinalized<CSSFontFace> { |
+ DECLARE_GC_TYPE_MARKER |
public: |
- static PassRefPtr<CSSFontFace> create(FontTraitsMask traitsMask, Handle<CSSFontFaceRule> rule, bool isLocalFallback = false) { return adoptRef(new CSSFontFace(traitsMask, rule, isLocalFallback)); } |
+ static Result<CSSFontFace> create(FontTraitsMask traitsMask, Handle<CSSFontFaceRule> rule, bool isLocalFallback = false) { return adopt(new CSSFontFace(traitsMask, rule, isLocalFallback)); } |
FontTraitsMask traitsMask() const { return m_traitsMask; } |
@@ -54,7 +55,6 @@ public: |
const Vector<UnicodeRange>& ranges() const { return m_ranges; } |
void addedToSegmentedFontFace(Handle<CSSSegmentedFontFace>); |
- void removedFromSegmentedFontFace(Handle<CSSSegmentedFontFace>); |
bool isLoaded() const; |
bool isValid() const; |
@@ -89,6 +89,9 @@ public: |
enum LoadState { NotLoaded, Loading, Loaded, Error }; |
LoadState loadState() const { return m_loadState; } |
+ void accept(Visitor*) const; |
+ void dispose(); |
+ |
private: |
CSSFontFace(FontTraitsMask traitsMask, Handle<CSSFontFaceRule> rule, bool isLocalFallback) |
: m_traitsMask(traitsMask) |
@@ -102,12 +105,12 @@ private: |
FontTraitsMask m_traitsMask; |
Vector<UnicodeRange> m_ranges; |
- HashSet<CSSSegmentedFontFace*> m_segmentedFontFaces; |
+ HashSet<Member<CSSSegmentedFontFace> > m_segmentedFontFaces; |
Vector<OwnPtr<CSSFontFaceSource> > m_sources; |
CSSFontFaceSource* m_activeSource; |
bool m_isLocalFallback; |
LoadState m_loadState; |
- Persistent<CSSFontFaceRule> m_rule; |
+ Member<CSSFontFaceRule> m_rule; |
void notifyFontLoader(LoadState); |
}; |