mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 11:55:49 +00:00
Bug 1429244 - Make Selection to use main thread only AddRef/Release, r=mccr8
This commit is contained in:
parent
89ea14e649
commit
07e03ec714
@ -823,8 +823,8 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(Selection)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsISelection)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTING_ADDREF(Selection)
|
||||
NS_IMPL_CYCLE_COLLECTING_RELEASE(Selection)
|
||||
NS_IMPL_MAIN_THREAD_ONLY_CYCLE_COLLECTING_ADDREF(Selection)
|
||||
NS_IMPL_MAIN_THREAD_ONLY_CYCLE_COLLECTING_RELEASE(Selection)
|
||||
|
||||
const RangeBoundary&
|
||||
Selection::AnchorRef()
|
||||
|
@ -828,6 +828,21 @@ NS_IMETHODIMP_(void) _class::DeleteCycleCollectable(void) \
|
||||
delete this; \
|
||||
}
|
||||
|
||||
#define NS_IMPL_MAIN_THREAD_ONLY_CYCLE_COLLECTING_RELEASE(_class) \
|
||||
NS_IMETHODIMP_(MozExternalRefCountType) _class::Release(void) \
|
||||
{ \
|
||||
MOZ_ASSERT(int32_t(mRefCnt) > 0, "dup release"); \
|
||||
NS_ASSERT_OWNINGTHREAD(_class); \
|
||||
nsISupports *base = NS_CYCLE_COLLECTION_CLASSNAME(_class)::Upcast(this); \
|
||||
nsrefcnt count = mRefCnt.decr<NS_CycleCollectorSuspectUsingNursery>(base); \
|
||||
NS_LOG_RELEASE(this, count, #_class); \
|
||||
return count; \
|
||||
} \
|
||||
NS_IMETHODIMP_(void) _class::DeleteCycleCollectable(void) \
|
||||
{ \
|
||||
delete this; \
|
||||
}
|
||||
|
||||
// _LAST_RELEASE can be useful when certain resources should be released
|
||||
// as soon as we know the object will be deleted.
|
||||
#define NS_IMPL_MAIN_THREAD_ONLY_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE(_class, _last) \
|
||||
|
Loading…
Reference in New Issue
Block a user