This commit is contained in:
Cameron Kaiser 2018-01-15 21:02:48 -08:00
parent d04b9da169
commit 9453c52c9a
2 changed files with 30 additions and 3 deletions

View File

@ -210,8 +210,6 @@ ImportRule::~ImportRule()
NS_IMPL_CYCLE_COLLECTING_ADDREF(ImportRule)
NS_IMPL_CYCLE_COLLECTING_RELEASE(ImportRule)
NS_IMPL_CYCLE_COLLECTION(ImportRule, mMedia, mChildSheet)
// QueryInterface implementation for ImportRule
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ImportRule)
NS_INTERFACE_MAP_ENTRY(nsIDOMCSSRule)
@ -222,6 +220,21 @@ NS_INTERFACE_MAP_END
IMPL_STYLE_RULE_INHERIT(ImportRule, Rule)
NS_IMPL_CYCLE_COLLECTION_CLASS(ImportRule)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(ImportRule)
if (tmp->mChildSheet) {
tmp->mChildSheet->SetOwnerRule(nullptr);
tmp->mChildSheet = nullptr;
}
tmp->mMedia = nullptr;
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(ImportRule)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mMedia)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mChildSheet)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
#ifdef DEBUG
/* virtual */ void
ImportRule::List(FILE* out, int32_t aIndent) const
@ -611,7 +624,7 @@ NS_IMPL_ADDREF_INHERITED(MediaRule, GroupRule)
NS_IMPL_RELEASE_INHERITED(MediaRule, GroupRule)
// QueryInterface implementation for MediaRule
NS_INTERFACE_MAP_BEGIN(MediaRule)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(MediaRule)
NS_INTERFACE_MAP_ENTRY(nsIDOMCSSRule)
NS_INTERFACE_MAP_ENTRY(nsIDOMCSSGroupingRule)
NS_INTERFACE_MAP_ENTRY(nsIDOMCSSConditionRule)
@ -620,6 +633,19 @@ NS_INTERFACE_MAP_BEGIN(MediaRule)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(CSSMediaRule)
NS_INTERFACE_MAP_END_INHERITING(GroupRule)
NS_IMPL_CYCLE_COLLECTION_CLASS(MediaRule)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(MediaRule, GroupRule)
if (tmp->mMedia) {
tmp->mMedia->SetStyleSheet(nullptr);
tmp->mMedia = nullptr;
}
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(MediaRule, GroupRule)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mMedia)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
/* virtual */ void
MediaRule::SetStyleSheet(CSSStyleSheet* aSheet)
{

View File

@ -53,6 +53,7 @@ private:
~MediaRule();
public:
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(MediaRule, GroupRule)
NS_DECL_ISUPPORTS_INHERITED
// Rule methods