Home | History | Annotate | Download | only in base
      1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "base/timer.h"
      6 
      7 #include "base/message_loop.h"
      8 
      9 namespace base {
     10 
     11 void BaseTimer_Helper::OrphanDelayedTask() {
     12   if (delayed_task_) {
     13     delayed_task_->timer_ = NULL;
     14     delayed_task_ = NULL;
     15   }
     16 }
     17 
     18 void BaseTimer_Helper::InitiateDelayedTask(TimerTask* timer_task) {
     19   OrphanDelayedTask();
     20 
     21   delayed_task_ = timer_task;
     22   delayed_task_->timer_ = this;
     23   MessageLoop::current()->PostDelayedTask(
     24       FROM_HERE, timer_task,
     25       static_cast<int>(timer_task->delay_.InMillisecondsRoundedUp()));
     26 }
     27 
     28 }  // namespace base
     29