Use TimeDelta in PausableTimer

Mostly s/double/TimeDelta/ and Method() to MethodDelta(). The
kNextFireIntervalInvalid constant is changed to TimeDelta::Min().

Bug: 763980
Change-Id: I878a4136edcfe815184e7021a19eefffbc02fd31
Reviewed-on: https://chromium-review.googlesource.com/1125919
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#572612}
diff --git a/third_party/blink/renderer/core/frame/pausable_timer.cc b/third_party/blink/renderer/core/frame/pausable_timer.cc
index 55f66ce..2c5d857 100644
--- a/third_party/blink/renderer/core/frame/pausable_timer.cc
+++ b/third_party/blink/renderer/core/frame/pausable_timer.cc
@@ -31,15 +31,14 @@
 namespace blink {
 
 namespace {
-// The lowest value returned by TimerBase::nextUnalignedFireInterval is 0.0
-const double kNextFireIntervalInvalid = -1.0;
+// TimerBase::NextFireIntervalDelta returns a delta >= 0.
+constexpr TimeDelta kNextFireIntervalInvalid = TimeDelta::Min();
 }  // namespace
 
 PausableTimer::PausableTimer(ExecutionContext* context, TaskType task_type)
     : TimerBase(context->GetTaskRunner(task_type)),
       PausableObject(context),
-      next_fire_interval_(kNextFireIntervalInvalid),
-      repeat_interval_(0) {
+      next_fire_interval_(kNextFireIntervalInvalid) {
   DCHECK(context);
 }
 
@@ -60,9 +59,9 @@
   paused_ = true;
 #endif
   if (IsActive()) {
-    next_fire_interval_ = NextFireInterval();
-    DCHECK_GE(next_fire_interval_, 0.0);
-    repeat_interval_ = RepeatInterval();
+    next_fire_interval_ = NextFireIntervalDelta();
+    DCHECK_GE(next_fire_interval_, TimeDelta());
+    repeat_interval_ = RepeatIntervalDelta();
     TimerBase::Stop();
   }
 }
@@ -72,7 +71,7 @@
   DCHECK(paused_);
   paused_ = false;
 #endif
-  if (next_fire_interval_ >= 0.0) {
+  if (next_fire_interval_ >= TimeDelta()) {
     // start() was called before, therefore location() is already set.
     // m_nextFireInterval is only set in suspend() if the Timer was active.
     Start(next_fire_interval_, repeat_interval_, GetLocation());
diff --git a/third_party/blink/renderer/core/frame/pausable_timer.h b/third_party/blink/renderer/core/frame/pausable_timer.h
index 1f73e43..40cf8b05 100644
--- a/third_party/blink/renderer/core/frame/pausable_timer.h
+++ b/third_party/blink/renderer/core/frame/pausable_timer.h
@@ -48,8 +48,8 @@
  private:
   void Fired() override = 0;
 
-  double next_fire_interval_;
-  double repeat_interval_;
+  TimeDelta next_fire_interval_;
+  TimeDelta repeat_interval_;
 #if DCHECK_IS_ON()
   bool paused_ = false;
 #endif