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

Unified Diff: Source/core/css/FontFace.cpp

Issue 170283019: Change various helper classes to transition types to get CSSValue entirely onto the gc heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 10 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/FontFace.cpp
diff --git a/Source/core/css/FontFace.cpp b/Source/core/css/FontFace.cpp
index 1e9604955e14a22e588796e4da7d7b5d44d03295..01c13da390673bc5a5739437f28e13bd6999444a 100644
--- a/Source/core/css/FontFace.cpp
+++ b/Source/core/css/FontFace.cpp
@@ -59,6 +59,8 @@
namespace WebCore {
+DEFINE_GC_INFO(FontFace);
+
class FontFaceReadyPromiseResolver {
public:
static PassOwnPtr<FontFaceReadyPromiseResolver> create(ScriptPromise promise, ExecutionContext* context)
@@ -107,7 +109,7 @@ PassRefPtr<FontFace> FontFace::create(ExecutionContext* context, const AtomicStr
return 0;
}
- RefPtr<FontFace> fontFace = adoptRef<FontFace>(new FontFace(src));
+ RefPtr<FontFace> fontFace = adoptRefCountedWillBeRefCountedGarbageCollected<FontFace>(new FontFace(src));
fontFace->setFamily(context, family, exceptionState);
if (exceptionState.hadException())
return 0;
@@ -160,7 +162,7 @@ PassRefPtr<FontFace> FontFace::create(Document* document, const StyleRuleFontFac
if (!src || !src->isValueList())
return 0;
- RefPtr<FontFace> fontFace = adoptRef<FontFace>(new FontFace(src));
+ RefPtr<FontFace> fontFace = adoptRefCountedWillBeRefCountedGarbageCollected<FontFace>(new FontFace(src));
if (fontFace->setFamilyValue(toCSSValueList(family.get()))
&& fontFace->setPropertyFromStyle(properties, CSSPropertyFontStyle)
@@ -453,7 +455,7 @@ unsigned FontFace::traitsMask() const
traitsMask |= FontWeight400Mask;
}
- if (RefPtr<CSSValue> fontVariant = m_variant) {
+ if (RefPtrWillBeRawPtr<CSSValue> fontVariant = m_variant) {
// font-variant descriptor can be a value list.
if (fontVariant->isPrimitiveValue()) {
RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
@@ -539,4 +541,15 @@ void FontFace::initCSSFontFace(Document* document)
}
}
+void FontFace::trace(Visitor* visitor)
+{
+ visitor->trace(m_src);
+ visitor->trace(m_style);
+ visitor->trace(m_weight);
+ visitor->trace(m_stretch);
+ visitor->trace(m_unicodeRange);
+ visitor->trace(m_variant);
+ visitor->trace(m_featureSettings);
+}
+
} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698