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 0 : void BaseTimer_Helper::OrphanDelayedTask() {
12 0 : if (delayed_task_) {
13 0 : delayed_task_->timer_ = NULL;
14 0 : delayed_task_ = NULL;
15 : }
16 0 : }
17 :
18 0 : void BaseTimer_Helper::InitiateDelayedTask(TimerTask* timer_task) {
19 0 : OrphanDelayedTask();
20 :
21 0 : delayed_task_ = timer_task;
22 0 : delayed_task_->timer_ = this;
23 : MessageLoop::current()->PostDelayedTask(
24 : FROM_HERE, timer_task,
25 0 : static_cast<int>(timer_task->delay_.InMilliseconds()));
26 0 : }
27 :
28 : } // namespace base
|