| Index: ui/events/devices/device_data_manager.cc
|
| diff --git a/ui/events/devices/device_data_manager.cc b/ui/events/devices/device_data_manager.cc
|
| index 44ca1fa7beccc0cef3c4beb8c83f7e5b9802aeb4..e725736df3923ad538e69795a0d10fd586c5e87b 100644
|
| --- a/ui/events/devices/device_data_manager.cc
|
| +++ b/ui/events/devices/device_data_manager.cc
|
| @@ -25,29 +25,35 @@ bool InputDeviceEquals(const ui::InputDevice& a, const ui::InputDevice& b) {
|
| DeviceDataManager* DeviceDataManager::instance_ = NULL;
|
|
|
| DeviceDataManager::DeviceDataManager() {
|
| - CHECK(!instance_) << "Can not create multiple instances of DeviceDataManager";
|
| - instance_ = this;
|
| -
|
| - base::AtExitManager::RegisterTask(
|
| - base::Bind(&base::DeletePointer<DeviceDataManager>, this));
|
| -
|
| ClearTouchDeviceAssociations();
|
| }
|
|
|
| DeviceDataManager::~DeviceDataManager() {
|
| - CHECK_EQ(this, instance_);
|
| - instance_ = NULL;
|
| }
|
|
|
| // static
|
| DeviceDataManager* DeviceDataManager::instance() { return instance_; }
|
|
|
| +void DeviceDataManager::set_instance(DeviceDataManager* instance) {
|
| + CHECK(!instance_) << "Can not set multiple instances of DeviceDataManager";
|
| + instance_ = instance;
|
| +}
|
| +
|
| // static
|
| void DeviceDataManager::CreateInstance() {
|
| if (instance())
|
| return;
|
|
|
| - new DeviceDataManager();
|
| + set_instance(new DeviceDataManager());
|
| +
|
| + base::AtExitManager::RegisterTask(base::Bind(DeleteInstance));
|
| +}
|
| +
|
| +void DeviceDataManager::DeleteInstance() {
|
| + if (instance_) {
|
| + delete instance_;
|
| + instance_ = NULL;
|
| + }
|
| }
|
|
|
| // static
|
|
|