(In reply to Peter Van der Beken [:peterv] from comment #4) > I think we should try to remove the cycle collection support for aggregated > objects. AFAICT it's only used for nsInMemoryDataSource. Also, trying to > understand this I think this line should have been > |NS_IMPL_AGGREGATED_QUERY_CYCLE_COLLECTION(\_class)|. This would never have > actually worked correctly if we made the outer's CC participant try to > traverse/unlink the inner's members. > I don't know what nsInMemoryDataSource is aggregated with, we should figure > that out. If any of its outers participate in CC then we can just move > NS_IMPL_AGGREGATED_QUERY_CYCLE_COLLECTION's code into the QI implementation > for nsInMemoryDataSource, but we need to fix up the outer too to actually > use this code, because we're probably leaking. If not then we just us the > normal CC macros (but maybe also assert that the outer doesn't participate > in CC).