Bug 1367523 Part 0: Generalize Loader to cycle collect all StyleSheets, not just CSSStyleSheets. draft
authorBrad Werth <bwerth@mozilla.com>
Fri, 02 Jun 2017 15:40:37 -0700
changeset 589188 e0fed8f67adf71100de77524d0f70839d4e95224
parent 589054 b7dfffc23174d96c9f85ce362f96c3751be7d113
child 589189 af8d7fca1bcfb880cc849cd9dcaf5da66393a796
push id62274
push userbwerth@mozilla.com
push dateMon, 05 Jun 2017 20:41:32 +0000
bugs1367523
milestone55.0a1
Bug 1367523 Part 0: Generalize Loader to cycle collect all StyleSheets, not just CSSStyleSheets. MozReview-Commit-ID: 1kVim87GZIB
layout/style/Loader.cpp
--- a/layout/style/Loader.cpp
+++ b/layout/style/Loader.cpp
@@ -2646,20 +2646,17 @@ Loader::StartAlternateLoads()
 NS_IMPL_CYCLE_COLLECTION_CLASS(Loader)
 
 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(Loader)
   if (tmp->mSheets) {
     for (auto iter = tmp->mSheets->mCompleteSheets.Iter();
          !iter.Done();
          iter.Next()) {
       NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "Sheet cache nsCSSLoader");
-      if (iter.UserData()->IsGecko()) {
-        CSSStyleSheet* sheet = iter.UserData()->AsGecko();
-        cb.NoteXPCOMChild(NS_ISUPPORTS_CAST(nsIDOMCSSStyleSheet*, sheet));
-      }
+      cb.NoteXPCOMChild(NS_ISUPPORTS_CAST(nsIDOMCSSStyleSheet*, iter.UserData()));
     }
   }
   nsTObserverArray<nsCOMPtr<nsICSSLoaderObserver>>::ForwardIterator
     it(tmp->mObservers);
   while (it.HasMore()) {
     ImplCycleCollectionTraverse(cb, it.GetNext(),
                                 "mozilla::css::Loader.mObservers");
   }