Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(544)

Unified Diff: Source/core/css/CSSFontFace.h

Issue 18856015: [oilpan] Move CSSFontFace to the managed heap (Closed) Base URL: svn://svn.chromium.org/blink/branches/oilpan
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698