Loading dom/ipc/TabChild.cpp +17 −2 Original line number Diff line number Diff line Loading @@ -175,13 +175,11 @@ StaticMutex sTabChildrenMutex; TabChildBase::TabChildBase() : mTabChildGlobal(nullptr) { mozilla::HoldJSObjects(this); } TabChildBase::~TabChildBase() { mAnonymousGlobalScopes.Clear(); mozilla::DropJSObjects(this); } NS_IMPL_CYCLE_COLLECTION_CLASS(TabChildBase) Loading Loading @@ -444,6 +442,8 @@ TabChild::TabChild(nsIContentChild* aManager, , mPendingDocShellBlockers(0) , mWidgetNativeData(0) { mozilla::HoldJSObjects(this); nsWeakPtr weakPtrThis(do_GetWeakReference(static_cast<nsITabChild*>(this))); // for capture by the lambda mSetAllowedTouchBehaviorCallback = [weakPtrThis](uint64_t aInputBlockId, const nsTArray<TouchBehaviorFlags>& aFlags) Loading Loading @@ -702,6 +702,19 @@ TabChild::UpdateFrameType() nsIDocShell::FRAME_TYPE_REGULAR); } NS_IMPL_CYCLE_COLLECTION_CLASS(TabChild) NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(TabChild, TabChildBase) NS_IMPL_CYCLE_COLLECTION_UNLINK(mWebNav) NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(TabChild, TabChildBase) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWebNav) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(TabChild, TabChildBase) NS_IMPL_CYCLE_COLLECTION_TRACE_END NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TabChild) NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome) NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome2) Loading Loading @@ -1147,6 +1160,8 @@ TabChild::~TabChild() if (mHistoryListener) { mHistoryListener->ClearTabChild(); } mozilla::DropJSObjects(this); } mozilla::ipc::IPCResult Loading dom/ipc/TabChild.h +2 −0 Original line number Diff line number Diff line Loading @@ -330,6 +330,8 @@ public: NS_DECL_NSIOBSERVER NS_DECL_NSITOOLTIPLISTENER NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(TabChild, TabChildBase) FORWARD_SHMEM_ALLOCATOR_TO(PBrowserChild) /** Loading toolkit/components/browser/nsWebBrowser.cpp +13 −4 Original line number Diff line number Diff line Loading @@ -105,10 +105,19 @@ nsWebBrowser::InternalDestroy() return NS_OK; } NS_IMPL_ADDREF(nsWebBrowser) NS_IMPL_RELEASE(nsWebBrowser) NS_INTERFACE_MAP_BEGIN(nsWebBrowser) NS_IMPL_CYCLE_COLLECTING_ADDREF(nsWebBrowser) NS_IMPL_CYCLE_COLLECTING_RELEASE(nsWebBrowser) NS_IMPL_CYCLE_COLLECTION(nsWebBrowser, mDocShell, mDocShellAsReq, mDocShellAsWin, mDocShellAsNav, mDocShellAsScrollable, mDocShellAsTextScroll, mWebProgress) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsWebBrowser) NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIWebBrowser) NS_INTERFACE_MAP_ENTRY(nsIWebBrowser) NS_INTERFACE_MAP_ENTRY(nsIWebNavigation) Loading toolkit/components/browser/nsWebBrowser.h +3 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ // Core Includes #include "nsAutoPtr.h" #include "nsCOMPtr.h" #include "nsCycleCollectionParticipant.h" // Interfaces needed #include "nsCWebBrowser.h" Loading Loading @@ -89,7 +90,8 @@ class nsWebBrowser final : public nsIWebBrowser, public: nsWebBrowser(); NS_DECL_ISUPPORTS NS_DECL_CYCLE_COLLECTING_ISUPPORTS NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsWebBrowser, nsIWebBrowser) NS_DECL_NSIBASEWINDOW NS_DECL_NSIDOCSHELLTREEITEM Loading Loading
dom/ipc/TabChild.cpp +17 −2 Original line number Diff line number Diff line Loading @@ -175,13 +175,11 @@ StaticMutex sTabChildrenMutex; TabChildBase::TabChildBase() : mTabChildGlobal(nullptr) { mozilla::HoldJSObjects(this); } TabChildBase::~TabChildBase() { mAnonymousGlobalScopes.Clear(); mozilla::DropJSObjects(this); } NS_IMPL_CYCLE_COLLECTION_CLASS(TabChildBase) Loading Loading @@ -444,6 +442,8 @@ TabChild::TabChild(nsIContentChild* aManager, , mPendingDocShellBlockers(0) , mWidgetNativeData(0) { mozilla::HoldJSObjects(this); nsWeakPtr weakPtrThis(do_GetWeakReference(static_cast<nsITabChild*>(this))); // for capture by the lambda mSetAllowedTouchBehaviorCallback = [weakPtrThis](uint64_t aInputBlockId, const nsTArray<TouchBehaviorFlags>& aFlags) Loading Loading @@ -702,6 +702,19 @@ TabChild::UpdateFrameType() nsIDocShell::FRAME_TYPE_REGULAR); } NS_IMPL_CYCLE_COLLECTION_CLASS(TabChild) NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(TabChild, TabChildBase) NS_IMPL_CYCLE_COLLECTION_UNLINK(mWebNav) NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(TabChild, TabChildBase) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWebNav) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(TabChild, TabChildBase) NS_IMPL_CYCLE_COLLECTION_TRACE_END NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TabChild) NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome) NS_INTERFACE_MAP_ENTRY(nsIWebBrowserChrome2) Loading Loading @@ -1147,6 +1160,8 @@ TabChild::~TabChild() if (mHistoryListener) { mHistoryListener->ClearTabChild(); } mozilla::DropJSObjects(this); } mozilla::ipc::IPCResult Loading
dom/ipc/TabChild.h +2 −0 Original line number Diff line number Diff line Loading @@ -330,6 +330,8 @@ public: NS_DECL_NSIOBSERVER NS_DECL_NSITOOLTIPLISTENER NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(TabChild, TabChildBase) FORWARD_SHMEM_ALLOCATOR_TO(PBrowserChild) /** Loading
toolkit/components/browser/nsWebBrowser.cpp +13 −4 Original line number Diff line number Diff line Loading @@ -105,10 +105,19 @@ nsWebBrowser::InternalDestroy() return NS_OK; } NS_IMPL_ADDREF(nsWebBrowser) NS_IMPL_RELEASE(nsWebBrowser) NS_INTERFACE_MAP_BEGIN(nsWebBrowser) NS_IMPL_CYCLE_COLLECTING_ADDREF(nsWebBrowser) NS_IMPL_CYCLE_COLLECTING_RELEASE(nsWebBrowser) NS_IMPL_CYCLE_COLLECTION(nsWebBrowser, mDocShell, mDocShellAsReq, mDocShellAsWin, mDocShellAsNav, mDocShellAsScrollable, mDocShellAsTextScroll, mWebProgress) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsWebBrowser) NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIWebBrowser) NS_INTERFACE_MAP_ENTRY(nsIWebBrowser) NS_INTERFACE_MAP_ENTRY(nsIWebNavigation) Loading
toolkit/components/browser/nsWebBrowser.h +3 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ // Core Includes #include "nsAutoPtr.h" #include "nsCOMPtr.h" #include "nsCycleCollectionParticipant.h" // Interfaces needed #include "nsCWebBrowser.h" Loading Loading @@ -89,7 +90,8 @@ class nsWebBrowser final : public nsIWebBrowser, public: nsWebBrowser(); NS_DECL_ISUPPORTS NS_DECL_CYCLE_COLLECTING_ISUPPORTS NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsWebBrowser, nsIWebBrowser) NS_DECL_NSIBASEWINDOW NS_DECL_NSIDOCSHELLTREEITEM Loading