зеркало из https://github.com/mozilla/pjs.git
Bug 766717 - nsNodeInfoManager needs to be able to add itself to the purple buffer (r=smaug)
This commit is contained in:
Родитель
a6ed5cc930
Коммит
182822aee4
|
@ -101,8 +101,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsContentSink)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsContentSink)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mDocument)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mDocument)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mParser)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mParser)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mNodeInfoManager,
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mNodeInfoManager)
|
||||||
nsNodeInfoManager)
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mScriptLoader)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mScriptLoader)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||||
|
|
||||||
|
|
|
@ -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_DESCRIBE(nsNodeInfo, tmp->mRefCnt.get())
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mOwnerManager,
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_RAWPTR(mOwnerManager)
|
||||||
nsNodeInfoManager)
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTING_ADDREF(nsNodeInfo)
|
NS_IMPL_CYCLE_COLLECTING_ADDREF(nsNodeInfo)
|
||||||
|
|
|
@ -130,11 +130,9 @@ nsNodeInfoManager::~nsNodeInfoManager()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_NATIVE_CLASS(nsNodeInfoManager)
|
NS_IMPL_CYCLE_COLLECTION_CLASS(nsNodeInfoManager)
|
||||||
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(nsNodeInfoManager, AddRef)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_0(nsNodeInfoManager)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(nsNodeInfoManager, Release)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsNodeInfoManager)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NATIVE_0(nsNodeInfoManager)
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_BEGIN(nsNodeInfoManager)
|
|
||||||
if (tmp->mDocument &&
|
if (tmp->mDocument &&
|
||||||
nsCCUncollectableMarker::InGeneration(cb,
|
nsCCUncollectableMarker::InGeneration(cb,
|
||||||
tmp->mDocument->GetMarkedCCGeneration())) {
|
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_RAWPTR(mBindingManager)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
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
|
nsresult
|
||||||
nsNodeInfoManager::Init(nsIDocument *aDocument)
|
nsNodeInfoManager::Init(nsIDocument *aDocument)
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,15 +28,14 @@ class nsIDOMNamedNodeMap;
|
||||||
class nsXULPrototypeDocument;
|
class nsXULPrototypeDocument;
|
||||||
class nsBindingManager;
|
class nsBindingManager;
|
||||||
|
|
||||||
class nsNodeInfoManager
|
class nsNodeInfoManager : public nsISupports
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
nsNodeInfoManager();
|
nsNodeInfoManager();
|
||||||
~nsNodeInfoManager();
|
~nsNodeInfoManager();
|
||||||
|
|
||||||
NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(nsNodeInfoManager)
|
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
|
||||||
|
NS_DECL_CYCLE_COLLECTION_CLASS(nsNodeInfoManager)
|
||||||
NS_INLINE_DECL_REFCOUNTING(nsNodeInfoManager)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the nodeinfo manager with a document.
|
* Initialize the nodeinfo manager with a document.
|
||||||
|
|
|
@ -170,8 +170,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsXULPrototypeDocument)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mRoot)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mRoot)
|
||||||
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mGlobalObject");
|
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mGlobalObject");
|
||||||
cb.NoteXPCOMChild(static_cast<nsIScriptGlobalObject*>(tmp->mGlobalObject));
|
cb.NoteXPCOMChild(static_cast<nsIScriptGlobalObject*>(tmp->mGlobalObject));
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mNodeInfoManager,
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mNodeInfoManager)
|
||||||
nsNodeInfoManager)
|
|
||||||
for (PRUint32 i = 0; i < tmp->mPrototypeWaiters.Length(); ++i) {
|
for (PRUint32 i = 0; i < tmp->mPrototypeWaiters.Length(); ++i) {
|
||||||
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mPrototypeWaiters[i]");
|
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mPrototypeWaiters[i]");
|
||||||
cb.NoteXPCOMChild(static_cast<nsINode*>(tmp->mPrototypeWaiters[i].get()));
|
cb.NoteXPCOMChild(static_cast<nsINode*>(tmp->mPrototypeWaiters[i].get()));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче