This repository was archived by the owner on Jul 9, 2025. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1717namespace mozilla {
1818namespace dom {
1919
20- NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED (AudioBufferSourceNode, AudioNode )
20+ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN (AudioBufferSourceNode)
2121 NS_IMPL_CYCLE_COLLECTION_UNLINK (mBuffer )
2222 NS_IMPL_CYCLE_COLLECTION_UNLINK (mPlaybackRate )
2323 if (tmp->Context ()) {
2424 tmp->Context ()->UnregisterAudioBufferSourceNode (tmp);
2525 }
26- NS_IMPL_CYCLE_COLLECTION_UNLINK_END
26+ NS_IMPL_CYCLE_COLLECTION_UNLINK_END_INHERITED (AudioNode)
2727
2828NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED (AudioBufferSourceNode, AudioNode)
2929 NS_IMPL_CYCLE_COLLECTION_TRAVERSE (mBuffer )
Original file line number Diff line number Diff line change @@ -381,6 +381,12 @@ T* DowncastCCParticipant(void *p)
381381
382382// /////////////////////////////////////////////////////////////////////////////
383383// Helpers for implementing nsCycleCollectionParticipant::Unlink
384+ //
385+ // You need to use NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED if you want
386+ // the base class Unlink version to be called before your own implementation.
387+ // You can use NS_IMPL_CYCLE_COLLECTION_UNLINK_END_INHERITED if you want the
388+ // base class Unlink to get called after your own implementation. You should
389+ // never use them together.
384390// /////////////////////////////////////////////////////////////////////////////
385391
386392#define NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN (_class ) \
@@ -402,6 +408,13 @@ T* DowncastCCParticipant(void *p)
402408 return NS_OK ; \
403409 }
404410
411+ #define NS_IMPL_CYCLE_COLLECTION_UNLINK_END_INHERITED (_base_class ) \
412+ nsISupports *s = static_cast <nsISupports*>(p); \
413+ NS_CYCLE_COLLECTION_CLASSNAME (_base_class)::UnlinkImpl(s); \
414+ (void )tmp; \
415+ return NS_OK ; \
416+ }
417+
405418#define NS_IMPL_CYCLE_COLLECTION_UNLINK_0 (_class ) \
406419 NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN (_class) \
407420 NS_IMPL_CYCLE_COLLECTION_UNLINK_END
You can’t perform that action at this time.
0 commit comments