mirror of
https://github.com/electron/electron.git
synced 2026-02-19 03:14:51 -05:00
30 lines
805 B
C++
30 lines
805 B
C++
// Copyright (c) 2015 GitHub, Inc.
|
|
// Use of this source code is governed by the MIT license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "shell/common/gin_helper/trackable_object.h"
|
|
|
|
#include "base/functional/bind.h"
|
|
#include "shell/common/process_util.h"
|
|
|
|
namespace gin_helper {
|
|
|
|
TrackableObjectBase::TrackableObjectBase() {
|
|
// TODO(zcbenz): Make TrackedObject work in renderer process.
|
|
DCHECK(electron::IsBrowserProcess())
|
|
<< "This class only works for browser process";
|
|
}
|
|
|
|
TrackableObjectBase::~TrackableObjectBase() = default;
|
|
|
|
base::OnceClosure TrackableObjectBase::GetDestroyClosure() {
|
|
return base::BindOnce(&TrackableObjectBase::Destroy,
|
|
weak_factory_.GetWeakPtr());
|
|
}
|
|
|
|
void TrackableObjectBase::Destroy() {
|
|
delete this;
|
|
}
|
|
|
|
} // namespace gin_helper
|