summaryrefslogtreecommitdiffstats
path: root/dom/ipc/WindowGlobalChild.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dom/ipc/WindowGlobalChild.cpp')
-rw-r--r--dom/ipc/WindowGlobalChild.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/dom/ipc/WindowGlobalChild.cpp b/dom/ipc/WindowGlobalChild.cpp
index 4072828911..7fb95709ee 100644
--- a/dom/ipc/WindowGlobalChild.cpp
+++ b/dom/ipc/WindowGlobalChild.cpp
@@ -867,9 +867,26 @@ nsISupports* WindowGlobalChild::GetParentObject() {
return xpc::NativeGlobal(xpc::PrivilegedJunkScope());
}
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_WEAK_PTR(WindowGlobalChild, mWindowGlobal,
- mContainerFeaturePolicy,
- mWindowContext)
+NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_CLASS(WindowGlobalChild)
+
+NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(WindowGlobalChild)
+ NS_IMPL_CYCLE_COLLECTION_UNLINK(mWindowGlobal)
+ NS_IMPL_CYCLE_COLLECTION_UNLINK(mContainerFeaturePolicy)
+ NS_IMPL_CYCLE_COLLECTION_UNLINK(mWindowContext)
+ tmp->UnlinkManager();
+ NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
+ NS_IMPL_CYCLE_COLLECTION_UNLINK_WEAK_PTR
+NS_IMPL_CYCLE_COLLECTION_UNLINK_END
+
+NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(WindowGlobalChild)
+ NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWindowGlobal)
+ NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mContainerFeaturePolicy)
+ NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWindowContext)
+ if (!tmp->IsInProcess()) {
+ CycleCollectionNoteChild(cb, static_cast<BrowserChild*>(tmp->Manager()),
+ "Manager()");
+ }
+NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(WindowGlobalChild)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY