зеркало из https://github.com/mozilla/pjs.git
Bug 743199 - Unmark Document's and Window's ELM, r=mccr8
This commit is contained in:
Родитель
1cd93f53c0
Коммит
af7d906b8d
|
@ -1719,7 +1719,13 @@ NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_DESTROY(nsDocument,
|
||||||
nsNodeUtils::LastRelease(this))
|
nsNodeUtils::LastRelease(this))
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_BEGIN(nsDocument)
|
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_BEGIN(nsDocument)
|
||||||
return nsGenericElement::CanSkip(tmp, aRemovingAllowed);
|
if (nsGenericElement::CanSkip(tmp, aRemovingAllowed)) {
|
||||||
|
nsEventListenerManager* elm = tmp->GetListenerManager(false);
|
||||||
|
if (elm) {
|
||||||
|
elm->UnmarkGrayJSListeners();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_END
|
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_END
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_IN_CC_BEGIN(nsDocument)
|
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_IN_CC_BEGIN(nsDocument)
|
||||||
|
|
|
@ -1439,6 +1439,11 @@ NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_BEGIN(nsGlobalWindow)
|
||||||
if (tmp->mCachedXBLPrototypeHandlers.IsInitialized()) {
|
if (tmp->mCachedXBLPrototypeHandlers.IsInitialized()) {
|
||||||
tmp->mCachedXBLPrototypeHandlers.EnumerateRead(MarkXBLHandlers, nsnull);
|
tmp->mCachedXBLPrototypeHandlers.EnumerateRead(MarkXBLHandlers, nsnull);
|
||||||
}
|
}
|
||||||
|
nsEventListenerManager* elm = tmp->GetListenerManager(false);
|
||||||
|
if (elm) {
|
||||||
|
elm->UnmarkGrayJSListeners();
|
||||||
|
}
|
||||||
|
tmp->UnmarkGrayTimers();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_END
|
NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_END
|
||||||
|
|
Загрузка…
Ссылка в новой задаче