Use FileDescriptorWatcher in AlarmTimer.

This CL is identical to https://codereview.chromium.org/2398753003/
which was reverted % fixes to avoid memory leaks in tests.

FileDescriptorWatcher is a new API that replaces
MessageLoopForIO::WatchFileDescriptor.

This CL also gets rid of the base::Thread created in the anonymous
namespace of alarm_timer_chromeos.cc. The FileDescriptorWatcher
API is supported by every TaskScheduler thread. Very soon, most
tasks in Chrome will run in TaskScheduler. Therefore, there is no
reason to create a base::Thread to allow AlarmTimer to be used from
threads that don't support the FileDescriptorWatcher API.

BUG=645114

Review-Url: https://codereview.chromium.org/2405503002
Cr-Commit-Position: refs/heads/master@{#424471}


CrOS-Libchrome-Original-Commit: 51dbb9577b6a8194f025d790f581c10559f3ee2a
3 files changed
tree: 4ff84411e4c48cd7aafd04a641056b0e70bf02b3
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/