From 7b90a3a9731db502614dc386ecabed1fca583a8b Mon Sep 17 00:00:00 2001 From: Rick Eyre Date: Thu, 15 Aug 2013 11:11:15 -0400 Subject: [PATCH] Bug 905320 - Fix TextTrack classes to utilize cycle collection correctly. r=khuey We were incorrectly using the wrapper cache cycle collection macros when that functionality was already implemented by the base classes. Therefore, we should instead use the inherited version of the cycle collection macros. --- content/media/TextTrack.cpp | 9 +++++---- content/media/TextTrack.h | 3 +-- content/media/TextTrackCue.cpp | 11 ++++++----- content/media/TextTrackCue.h | 3 +-- content/media/TextTrackList.cpp | 5 ++++- content/media/TextTrackList.h | 3 +-- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/content/media/TextTrack.cpp b/content/media/TextTrack.cpp index bc9640f31a6..fe78527a9f8 100644 --- a/content/media/TextTrack.cpp +++ b/content/media/TextTrack.cpp @@ -10,10 +10,11 @@ namespace mozilla { namespace dom { -NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_3(TextTrack, - mParent, - mCueList, - mActiveCueList) +NS_IMPL_CYCLE_COLLECTION_INHERITED_3(TextTrack, + nsDOMEventTargetHelper, + mParent, + mCueList, + mActiveCueList) NS_IMPL_ADDREF_INHERITED(TextTrack, nsDOMEventTargetHelper) NS_IMPL_RELEASE_INHERITED(TextTrack, nsDOMEventTargetHelper) diff --git a/content/media/TextTrack.h b/content/media/TextTrack.h index 308678a6145..f544ce5fa89 100644 --- a/content/media/TextTrack.h +++ b/content/media/TextTrack.h @@ -26,8 +26,7 @@ class TextTrack MOZ_FINAL : public nsDOMEventTargetHelper { public: NS_DECL_ISUPPORTS_INHERITED - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(TextTrack, - nsDOMEventTargetHelper) + NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(TextTrack, nsDOMEventTargetHelper) TextTrack(nsISupports* aParent); TextTrack(nsISupports* aParent, diff --git a/content/media/TextTrackCue.cpp b/content/media/TextTrackCue.cpp index 14200e58f7b..93b2e2f3c3d 100644 --- a/content/media/TextTrackCue.cpp +++ b/content/media/TextTrackCue.cpp @@ -17,11 +17,12 @@ namespace mozilla { namespace dom { -NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_4(TextTrackCue, - mDocument, - mTrack, - mTrackElement, - mDisplayState) +NS_IMPL_CYCLE_COLLECTION_INHERITED_4(TextTrackCue, + nsDOMEventTargetHelper, + mDocument, + mTrack, + mTrackElement, + mDisplayState) NS_IMPL_ADDREF_INHERITED(TextTrackCue, nsDOMEventTargetHelper) NS_IMPL_RELEASE_INHERITED(TextTrackCue, nsDOMEventTargetHelper) diff --git a/content/media/TextTrackCue.h b/content/media/TextTrackCue.h index 59e4b4f95e3..69df1eb4a3c 100644 --- a/content/media/TextTrackCue.h +++ b/content/media/TextTrackCue.h @@ -26,8 +26,7 @@ class TextTrackCue MOZ_FINAL : public nsDOMEventTargetHelper { public: NS_DECL_ISUPPORTS_INHERITED - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(TextTrackCue, - nsDOMEventTargetHelper) + NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(TextTrackCue, nsDOMEventTargetHelper) // TextTrackCue WebIDL // See bug 868509 about splitting out the WebVTT-specific interfaces. diff --git a/content/media/TextTrackList.cpp b/content/media/TextTrackList.cpp index b3319a6ecb0..380c8d0b16c 100644 --- a/content/media/TextTrackList.cpp +++ b/content/media/TextTrackList.cpp @@ -9,7 +9,10 @@ namespace mozilla { namespace dom { -NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_2(TextTrackList, mGlobal, mTextTracks) +NS_IMPL_CYCLE_COLLECTION_INHERITED_2(TextTrackList, + nsDOMEventTargetHelper, + mGlobal, + mTextTracks) NS_IMPL_ADDREF_INHERITED(TextTrackList, nsDOMEventTargetHelper) NS_IMPL_RELEASE_INHERITED(TextTrackList, nsDOMEventTargetHelper) diff --git a/content/media/TextTrackList.h b/content/media/TextTrackList.h index cb65b575a6f..632c5fff4f9 100644 --- a/content/media/TextTrackList.h +++ b/content/media/TextTrackList.h @@ -20,8 +20,7 @@ class TextTrackList MOZ_FINAL : public nsDOMEventTargetHelper { public: NS_DECL_ISUPPORTS_INHERITED - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS_INHERITED(TextTrackList, - nsDOMEventTargetHelper) + NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(TextTrackList, nsDOMEventTargetHelper) TextTrackList(nsISupports* aGlobal);