Index: device/hid/hid_service.cc |
diff --git a/device/hid/hid_service.cc b/device/hid/hid_service.cc |
index fc50a41d5abf0841ffece481f03054d2d1fe43f2..433a80b5d6a6c413ef5babc4eea5f3d7e93dd2e1 100644 |
--- a/device/hid/hid_service.cc |
+++ b/device/hid/hid_service.cc |
@@ -45,8 +45,9 @@ HidService* HidService::GetInstance( |
g_service = new HidServiceWin(file_task_runner); |
#endif |
if (g_service != nullptr) { |
+ scoped_ptr<HidService> owned_service(g_service); |
base::AtExitManager::RegisterTask(base::Bind( |
- &base::DeletePointer<HidService>, base::Unretained(g_service))); |
+ &base::DeletePointer<HidService>, base::Passed(&owned_service))); |
} |
} |
return g_service; |
@@ -55,8 +56,9 @@ HidService* HidService::GetInstance( |
void HidService::SetInstanceForTest(HidService* instance) { |
DCHECK(!g_service); |
g_service = instance; |
+ scoped_ptr<HidService> owned_service(instance); |
base::AtExitManager::RegisterTask(base::Bind(&base::DeletePointer<HidService>, |
- base::Unretained(g_service))); |
+ base::Passed(&owned_service))); |
} |
void HidService::GetDevices(const GetDevicesCallback& callback) { |