michael@0: // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. michael@0: // Use of this source code is governed by a BSD-style license that can be michael@0: // found in the LICENSE file. michael@0: michael@0: #include "base/timer.h" michael@0: michael@0: #include "base/message_loop.h" michael@0: michael@0: namespace base { michael@0: michael@0: void BaseTimer_Helper::OrphanDelayedTask() { michael@0: if (delayed_task_) { michael@0: delayed_task_->timer_ = NULL; michael@0: delayed_task_ = NULL; michael@0: } michael@0: } michael@0: michael@0: void BaseTimer_Helper::InitiateDelayedTask(TimerTask* timer_task) { michael@0: OrphanDelayedTask(); michael@0: michael@0: delayed_task_ = timer_task; michael@0: delayed_task_->timer_ = this; michael@0: MessageLoop::current()->PostDelayedTask( michael@0: FROM_HERE, timer_task, michael@0: static_cast(timer_task->delay_.InMilliseconds())); michael@0: } michael@0: michael@0: } // namespace base