Replace base::Timer with behavior-specific timers in vr/

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
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ic479d078f2c373e02c960e8051430a427f28143f
Reviewed-on: https://chromium-review.googlesource.com/1128690
Reviewed-by: Christopher Grant <[email protected]>
Commit-Queue: Taiju Tsuiki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#573576}
diff --git a/chrome/browser/vr/speech_recognizer.h b/chrome/browser/vr/speech_recognizer.h
index 69e55ef..f2b1d2d 100644
--- a/chrome/browser/vr/speech_recognizer.h
+++ b/chrome/browser/vr/speech_recognizer.h
@@ -122,7 +122,7 @@
                                std::string* auth_token);
 
   static void SetManagerForTest(content::SpeechRecognitionManager* manager);
-  void SetSpeechTimerForTest(std::unique_ptr<base::Timer> speech_timer);
+  void SetSpeechTimerForTest(std::unique_ptr<base::OneShotTimer> speech_timer);
 
  private:
   VoiceResultDelegate* delegate_;