Index: device/hid/hid_service_linux.cc |
diff --git a/device/hid/hid_service_linux.cc b/device/hid/hid_service_linux.cc |
index 1e22b5200a15c5122ef0459d1fd3bb251645d83f..2d878310a493a586d7d274d4bee24a36ed757d68 100644 |
--- a/device/hid/hid_service_linux.cc |
+++ b/device/hid/hid_service_linux.cc |
@@ -25,7 +25,7 @@ |
#include "base/threading/thread_task_runner_handle.h" |
#include "build/build_config.h" |
#include "components/device_event_log/device_event_log.h" |
-#include "device/hid/device_monitor_linux.h" |
+#include "device/core/device_monitor_linux.h" |
#include "device/hid/hid_connection_linux.h" |
#include "device/hid/hid_device_info_linux.h" |
#include "device/udev_linux/scoped_udev.h" |
@@ -66,9 +66,7 @@ struct HidServiceLinux::ConnectParams { |
base::File device_file; |
}; |
-class HidServiceLinux::FileThreadHelper |
- : public DeviceMonitorLinux::Observer, |
- public base::MessageLoop::DestructionObserver { |
+class HidServiceLinux::FileThreadHelper : public DeviceMonitorLinux::Observer { |
public: |
FileThreadHelper(base::WeakPtr<HidServiceLinux> service, |
scoped_refptr<base::SingleThreadTaskRunner> task_runner) |
@@ -76,15 +74,11 @@ class HidServiceLinux::FileThreadHelper |
~FileThreadHelper() override { |
DCHECK(thread_checker_.CalledOnValidThread()); |
- base::MessageLoop::current()->RemoveDestructionObserver(this); |
} |
static void Start(std::unique_ptr<FileThreadHelper> self) { |
base::ThreadRestrictions::AssertIOAllowed(); |
self->thread_checker_.DetachFromThread(); |
- // |self| must be added as a destruction observer first so that it will be |
- // notified before DeviceMonitorLinux. |
- base::MessageLoop::current()->AddDestructionObserver(self.get()); |
DeviceMonitorLinux* monitor = DeviceMonitorLinux::GetInstance(); |
self->observer_.Add(monitor); |
@@ -193,8 +187,7 @@ class HidServiceLinux::FileThreadHelper |
} |
} |
- // base::MessageLoop::DestructionObserver: |
- void WillDestroyCurrentMessageLoop() override { |
+ void WillDestroyMonitorMessageLoop() override { |
DCHECK(thread_checker_.CalledOnValidThread()); |
delete this; |
} |