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()11void BaseTimer_Helper::OrphanDelayedTask() { 12 if (delayed_task_) { 13 delayed_task_->timer_ = NULL; 14 delayed_task_ = NULL; 15 } 16 } 17 InitiateDelayedTask(TimerTask * timer_task)18void 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