static PLDHashOperator TraverseRuleToBindingsMap(nsISupports* aKey, nsXMLBindingSet* aMatch, void* aContext) { nsCycleCollectionTraversalCallback *cb = static_cast<nsCycleCollectionTraversalCallback*>(aContext); NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(*cb, "mRuleToBindingsMap key"); cb->NoteXPCOMChild(aKey); NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(*cb, "mRuleToBindingsMap value"); cb->NoteNativeChild(aMatch, NS_CYCLE_COLLECTION_PARTICIPANT(nsXMLBindingSet)); return PL_DHASH_NEXT; }
void nsTransactionStack::DoTraverse(nsCycleCollectionTraversalCallback &cb) { int32_t size = GetSize(); for (int32_t i = 0; i < size; ++i) { nsTransactionItem* item = static_cast<nsTransactionItem*>(nsDeque::ObjectAt(i)); if (item) { NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "transaction stack mDeque[i]"); cb.NoteNativeChild(item, NS_CYCLE_COLLECTION_PARTICIPANT(nsTransactionItem)); } } }
void nsTransactionStack::DoTraverse(nsCycleCollectionTraversalCallback &cb) { for (PRInt32 i = 0, qcount = mQue.GetSize(); i < qcount; ++i) { nsTransactionItem *item = static_cast<nsTransactionItem*>(mQue.ObjectAt(i)); if (item) { NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "transaction stack mQue[i]"); cb.NoteNativeChild(item, NS_CYCLE_COLLECTION_PARTICIPANT(nsTransactionItem)); } } }
void CustomElementData::Traverse(nsCycleCollectionTraversalCallback& aCb) const { for (uint32_t i = 0; i < mReactionQueue.Length(); i++) { if (mReactionQueue[i]) { mReactionQueue[i]->Traverse(aCb); } } if (mCustomElementDefinition) { NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(aCb, "mCustomElementDefinition"); aCb.NoteNativeChild(mCustomElementDefinition, NS_CYCLE_COLLECTION_PARTICIPANT(CustomElementDefinition)); } }