diff --git a/content/base/src/nsFrameMessageManager.cpp b/content/base/src/nsFrameMessageManager.cpp index 4eebd1bc34b..e45e878687c 100644 --- a/content/base/src/nsFrameMessageManager.cpp +++ b/content/base/src/nsFrameMessageManager.cpp @@ -859,12 +859,6 @@ nsFrameScriptExecutor::DidCreateGlobal() } } -void -nsFrameScriptExecutor::DestroyCx() -{ - mGlobal = nullptr; -} - static PLDHashOperator CachedScriptUnrooter(const nsAString& aKey, nsFrameJSScriptExecutorHolder*& aData, diff --git a/content/base/src/nsFrameMessageManager.h b/content/base/src/nsFrameMessageManager.h index 71dc772971b..5ee408b3da2 100644 --- a/content/base/src/nsFrameMessageManager.h +++ b/content/base/src/nsFrameMessageManager.h @@ -284,8 +284,6 @@ protected: ~nsFrameScriptExecutor() { MOZ_COUNT_DTOR(nsFrameScriptExecutor); } void DidCreateGlobal(); - // Call this when you want to destroy mCx. - void DestroyCx(); void LoadFrameScriptInternal(const nsAString& aURL); enum CacheFailedBehavior { EXECUTE_IF_CANT_CACHE, DONT_EXECUTE }; void TryCacheLoadAndCompileScript(const nsAString& aURL, diff --git a/content/base/src/nsInProcessTabChildGlobal.cpp b/content/base/src/nsInProcessTabChildGlobal.cpp index ca39d918943..24df0424f80 100644 --- a/content/base/src/nsInProcessTabChildGlobal.cpp +++ b/content/base/src/nsInProcessTabChildGlobal.cpp @@ -246,9 +246,7 @@ nsInProcessTabChildGlobal::DelayedDisconnect() if (!mLoadingScript) { nsContentUtils::ReleaseWrapper(static_cast(this), this); - if (mGlobal) { - DestroyCx(); - } + mGlobal = nullptr; } else { mDelayedDisconnect = true; } diff --git a/dom/ipc/TabChild.cpp b/dom/ipc/TabChild.cpp index bba5111f91a..8faac1828e1 100644 --- a/dom/ipc/TabChild.cpp +++ b/dom/ipc/TabChild.cpp @@ -1145,10 +1145,8 @@ TabChild::~TabChild() if (webBrowser) { webBrowser->SetContainerWindow(nullptr); } - if (mGlobal) { - DestroyCx(); - } - + mGlobal = nullptr; + if (mTabChildGlobal) { nsEventListenerManager* elm = mTabChildGlobal->GetListenerManager(false); if (elm) {