Remove itself from the cleanup list when it is destroyed
This commit is contained in:
parent
1e7c8c9fda
commit
eb8426269f
4 changed files with 24 additions and 10 deletions
|
@ -30,10 +30,11 @@ class IDUserData : public base::SupportsUserData::Data {
|
|||
|
||||
TrackableObjectBase::TrackableObjectBase()
|
||||
: weak_map_id_(0), wrapped_(nullptr), weak_factory_(this) {
|
||||
RegisterDestructionCallback(GetDestroyClosure());
|
||||
cleanup_ = RegisterDestructionCallback(GetDestroyClosure());
|
||||
}
|
||||
|
||||
TrackableObjectBase::~TrackableObjectBase() {
|
||||
cleanup_.Run();
|
||||
}
|
||||
|
||||
void TrackableObjectBase::AfterInit(v8::Isolate* isolate) {
|
||||
|
@ -74,9 +75,9 @@ int32_t TrackableObjectBase::GetIDFromWrappedClass(base::SupportsUserData* w) {
|
|||
}
|
||||
|
||||
// static
|
||||
void TrackableObjectBase::RegisterDestructionCallback(
|
||||
const base::Closure& closure) {
|
||||
atom::AtomBrowserMainParts::Get()->RegisterDestructionCallback(closure);
|
||||
base::Closure TrackableObjectBase::RegisterDestructionCallback(
|
||||
const base::Closure& c) {
|
||||
return atom::AtomBrowserMainParts::Get()->RegisterDestructionCallback(c);
|
||||
}
|
||||
|
||||
} // namespace mate
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue