class Node;
class SecurityOrigin;
class StyleRuleBase;
+class StyleRuleFontFace;
class StyleRuleImport;
-class StyleSheetContents : public RefCounted<StyleSheetContents> {
+class StyleSheetContents : public RefCountedWillBeRefCountedGarbageCollected<StyleSheetContents> {
+ DECLARE_GC_INFO
public:
- static PassRefPtr<StyleSheetContents> create(const CSSParserContext& context = CSSParserContext(HTMLStandardMode))
+ static PassRefPtrWillBeRawPtr<StyleSheetContents> create(const CSSParserContext& context)
{
- return adoptRef(new StyleSheetContents(0, String(), context));
+ return adoptRefCountedWillBeRefCountedGarbageCollected(new StyleSheetContents(0, String(), context));
}
- static PassRefPtr<StyleSheetContents> create(const String& originalURL, const CSSParserContext& context)
+ static PassRefPtrWillBeRawPtr<StyleSheetContents> create(const String& originalURL, const CSSParserContext& context)
{
- return adoptRef(new StyleSheetContents(0, originalURL, context));
+ return adoptRefCountedWillBeRefCountedGarbageCollected(new StyleSheetContents(0, originalURL, context));
}
- static PassRefPtr<StyleSheetContents> create(StyleRuleImport* ownerRule, const String& originalURL, const CSSParserContext& context)
+ static PassRefPtrWillBeRawPtr<StyleSheetContents> create(StyleRuleImport* ownerRule, const String& originalURL, const CSSParserContext& context)
{
- return adoptRef(new StyleSheetContents(ownerRule, originalURL, context));
+ return adoptRefCountedWillBeRefCountedGarbageCollected(new StyleSheetContents(ownerRule, originalURL, context));
}
~StyleSheetContents();
void setHasFontFaceRule(bool b) { m_hasFontFaceRule = b; }
bool hasFontFaceRule() const { return m_hasFontFaceRule; }
+ void findFontFaceRules(Vector<const StyleRuleFontFace*>& fontFaceRules);
void parserAddNamespace(const AtomicString& prefix, const AtomicString& uri);
void parserAppendRule(PassRefPtr<StyleRuleBase>);
RuleSet& ensureRuleSet(const MediaQueryEvaluator&, AddRuleFlags);
void clearRuleSet();
+ void trace(Visitor*);
+
private:
StyleSheetContents(StyleRuleImport* ownerRule, const String& originalURL, const CSSParserContext&);
StyleSheetContents(const StyleSheetContents&);
+ void notifyRemoveFontFaceRule(const StyleRuleFontFace*);
void clearCharsetRule();