Bug 1535617: Part 2 - Clear weak references for most cycle collected objects on unlink. r=mccr8

This covers most cycle collected objects which support weak references, but
not the ones which inherit from a cycle collected class and don't do any cycle
collection on their own.

Differential Revision: https://phabricator.services.mozilla.com/D63962
This commit is contained in:
Kris Maglione
2020-02-25 19:44:39 +00:00
parent 55f1dbfe90
commit 232ff37e9f
63 changed files with 111 additions and 55 deletions

View File

@@ -377,8 +377,8 @@ NS_INTERFACE_TABLE_HEAD(TextInputSelectionController)
NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(TextInputSelectionController)
NS_INTERFACE_MAP_END
NS_IMPL_CYCLE_COLLECTION(TextInputSelectionController, mFrameSelection,
mLimiter)
NS_IMPL_CYCLE_COLLECTION_WEAK(TextInputSelectionController, mFrameSelection,
mLimiter)
TextInputSelectionController::TextInputSelectionController(
nsFrameSelection* aSel, PresShell* aPresShell, nsIContent* aLimiter)
@@ -828,7 +828,12 @@ NS_INTERFACE_MAP_BEGIN(TextInputListener)
NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(TextInputListener)
NS_INTERFACE_MAP_END
NS_IMPL_CYCLE_COLLECTION_0(TextInputListener)
NS_IMPL_CYCLE_COLLECTION_CLASS(TextInputListener)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(TextInputListener)
NS_IMPL_CYCLE_COLLECTION_UNLINK_WEAK_REFERENCE
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(TextInputListener)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
void TextInputListener::OnSelectionChange(Selection& aSelection,
int16_t aReason) {