Commit e98b8695 authored by Nika Layzell's avatar Nika Layzell
Browse files

Bug 1401379 - Part 3: Make nsGlobalWindow's reference to nsDocShell strong, r=smaug

MozReview-Commit-ID: DxCjgWGRR0G
parent b5701b12
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2325,6 +2325,8 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INTERNAL(nsGlobalWindow)
  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mMozSelfSupport)
  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mIntlUtils)

  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mDocShell)

  tmp->TraverseHostObjectURIs(cb);

  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mChromeFields.mBrowserDOMWindow)
@@ -2408,6 +2410,8 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsGlobalWindow)
  NS_IMPL_CYCLE_COLLECTION_UNLINK(mMozSelfSupport)
  NS_IMPL_CYCLE_COLLECTION_UNLINK(mIntlUtils)

  NS_IMPL_CYCLE_COLLECTION_UNLINK(mDocShell)

  tmp->UnlinkHostObjectURIs();

  NS_IMPL_CYCLE_COLLECTION_UNLINK(mIdleRequestExecutor)
+3 −4
Original line number Diff line number Diff line
@@ -639,10 +639,9 @@ protected:

  // These members are only used on outer windows.
  nsCOMPtr<mozilla::dom::Element> mFrameElement;
  // This reference is used by the subclass nsGlobalWindow, and cleared in it's
  // DetachFromDocShell() method. This method is called by nsDocShell::Destroy(),
  // which is called before the nsDocShell is destroyed.
  nsIDocShell* MOZ_NON_OWNING_REF mDocShell;  // Weak Reference

  // This reference is used by nsGlobalWindow.
  nsCOMPtr<nsIDocShell> mDocShell;

  // mPerformance is only used on inner windows.
  RefPtr<mozilla::dom::Performance> mPerformance;