Replace base::Timer with behavior-specific timers in gcm/ and gcm_driver/

This CL replaces base::Timer with its subclasses.
As base::Timer changes its behavior subject to its construction time
flags, that makes hard to see the actual timer behavior, especially
it's unclear when a timer is injected from other components.
Also, that OnceCallback support of base::Timer is hard to implement on
the dynamically determined invocation pattern.

Bug: 850247
Change-Id: I525b47094e6b3173c018927fba250b9fa9071b76
Reviewed-on: https://chromium-review.googlesource.com/1125739
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#572946}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b6c66b26dba3551150ad3b8156c080540cc43b10
2 files changed