From 182822aee44bed692d705f5f0bc72a67b9c3b5e9 Mon Sep 17 00:00:00 2001 From: Bill McCloskey Date: Tue, 26 Jun 2012 13:35:29 -0700 Subject: [PATCH] Bug 766717 - nsNodeInfoManager needs to be able to add itself to the purple buffer (r=smaug) --- content/base/src/nsContentSink.cpp | 3 +-- content/base/src/nsNodeInfo.cpp | 3 +-- content/base/src/nsNodeInfoManager.cpp | 15 ++++++++++----- content/base/src/nsNodeInfoManager.h | 7 +++---- .../xul/document/src/nsXULPrototypeDocument.cpp | 3 +-- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/content/base/src/nsContentSink.cpp b/content/base/src/nsContentSink.cpp index 838933a6806..a8a81d04528 100644 --- a/content/base/src/nsContentSink.cpp +++ b/content/base/src/nsContentSink.cpp @@ -101,8 +101,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsContentSink) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mDocument) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mParser) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mNodeInfoManager, - nsNodeInfoManager) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mNodeInfoManager) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mScriptLoader) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END diff --git a/content/base/src/nsNodeInfo.cpp b/content/base/src/nsNodeInfo.cpp index ddd03e34f68..4dd168f7836 100644 --- a/content/base/src/nsNodeInfo.cpp +++ b/content/base/src/nsNodeInfo.cpp @@ -177,8 +177,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INTERNAL(nsNodeInfo) NS_IMPL_CYCLE_COLLECTION_DESCRIBE(nsNodeInfo, tmp->mRefCnt.get()) } - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mOwnerManager, - nsNodeInfoManager) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE_RAWPTR(mOwnerManager) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END NS_IMPL_CYCLE_COLLECTING_ADDREF(nsNodeInfo) diff --git a/content/base/src/nsNodeInfoManager.cpp b/content/base/src/nsNodeInfoManager.cpp index 295d5b3a0eb..4af34c2bb2e 100644 --- a/content/base/src/nsNodeInfoManager.cpp +++ b/content/base/src/nsNodeInfoManager.cpp @@ -130,11 +130,9 @@ nsNodeInfoManager::~nsNodeInfoManager() } -NS_IMPL_CYCLE_COLLECTION_NATIVE_CLASS(nsNodeInfoManager) -NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(nsNodeInfoManager, AddRef) -NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(nsNodeInfoManager, Release) -NS_IMPL_CYCLE_COLLECTION_UNLINK_NATIVE_0(nsNodeInfoManager) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_BEGIN(nsNodeInfoManager) +NS_IMPL_CYCLE_COLLECTION_CLASS(nsNodeInfoManager) +NS_IMPL_CYCLE_COLLECTION_UNLINK_0(nsNodeInfoManager) +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsNodeInfoManager) if (tmp->mDocument && nsCCUncollectableMarker::InGeneration(cb, tmp->mDocument->GetMarkedCCGeneration())) { @@ -146,6 +144,13 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_BEGIN(nsNodeInfoManager) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_RAWPTR(mBindingManager) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END +NS_IMPL_CYCLE_COLLECTING_ADDREF(nsNodeInfoManager) +NS_IMPL_CYCLE_COLLECTING_RELEASE(nsNodeInfoManager) + +NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsNodeInfoManager) + NS_INTERFACE_MAP_ENTRY(nsISupports) +NS_INTERFACE_MAP_END + nsresult nsNodeInfoManager::Init(nsIDocument *aDocument) { diff --git a/content/base/src/nsNodeInfoManager.h b/content/base/src/nsNodeInfoManager.h index 0686a06a1e5..7158a9a316d 100644 --- a/content/base/src/nsNodeInfoManager.h +++ b/content/base/src/nsNodeInfoManager.h @@ -28,15 +28,14 @@ class nsIDOMNamedNodeMap; class nsXULPrototypeDocument; class nsBindingManager; -class nsNodeInfoManager +class nsNodeInfoManager : public nsISupports { public: nsNodeInfoManager(); ~nsNodeInfoManager(); - NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(nsNodeInfoManager) - - NS_INLINE_DECL_REFCOUNTING(nsNodeInfoManager) + NS_DECL_CYCLE_COLLECTING_ISUPPORTS + NS_DECL_CYCLE_COLLECTION_CLASS(nsNodeInfoManager) /** * Initialize the nodeinfo manager with a document. diff --git a/content/xul/document/src/nsXULPrototypeDocument.cpp b/content/xul/document/src/nsXULPrototypeDocument.cpp index 7660a43f4a0..25126746891 100644 --- a/content/xul/document/src/nsXULPrototypeDocument.cpp +++ b/content/xul/document/src/nsXULPrototypeDocument.cpp @@ -170,8 +170,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsXULPrototypeDocument) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mRoot) NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mGlobalObject"); cb.NoteXPCOMChild(static_cast(tmp->mGlobalObject)); - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mNodeInfoManager, - nsNodeInfoManager) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mNodeInfoManager) for (PRUint32 i = 0; i < tmp->mPrototypeWaiters.Length(); ++i) { NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mPrototypeWaiters[i]"); cb.NoteXPCOMChild(static_cast(tmp->mPrototypeWaiters[i].get()));