• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
OrphanDelayedTask()11 void BaseTimer_Helper::OrphanDelayedTask() {
12   if (delayed_task_) {
13     delayed_task_->timer_ = NULL;
14     delayed_task_ = NULL;
15   }
16 }
17 
InitiateDelayedTask(TimerTask * timer_task)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