Bug 628599. Fix traversal of nsInProcessTabChildGlobal. r=Olli.Pettay@gmail.com, a=blocker

This commit is contained in:
Peter Van der Beken 2011-02-02 14:08:13 -08:00
Родитель c345090daf
Коммит a95cde4cf7
3 изменённых файлов: 13 добавлений и 1 удалений

Просмотреть файл

@ -716,6 +716,16 @@ nsFrameScriptExecutor::LoadFrameScriptInternal(const nsAString& aURL)
}
}
// static
void
nsFrameScriptExecutor::Traverse(nsFrameScriptExecutor *tmp,
nsCycleCollectionTraversalCallback &cb)
{
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mGlobal)
NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mCx");
nsContentUtils::XPConnect()->NoteJSContext(tmp->mCx, cb);
}
NS_IMPL_ISUPPORTS1(nsScriptCacheCleaner, nsIObserver)
nsFrameMessageManager* nsFrameMessageManager::sChildProcessManager = nsnull;

Просмотреть файл

@ -204,6 +204,8 @@ protected:
// Call this when you want to destroy mCx.
void DestroyCx();
void LoadFrameScriptInternal(const nsAString& aURL);
static void Traverse(nsFrameScriptExecutor *tmp,
nsCycleCollectionTraversalCallback &cb);
nsCOMPtr<nsIXPConnectJSObjectHolder> mGlobal;
JSContext* mCx;
nsCOMPtr<nsIPrincipal> mPrincipal;

Просмотреть файл

@ -149,7 +149,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(nsInProcessTabChildGlobal,
nsDOMEventTargetHelper)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mMessageManager)
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mGlobal)
nsFrameScriptExecutor::Traverse(tmp, cb);
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsInProcessTabChildGlobal)