diff options
author | mattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-02 02:28:56 +0000 |
---|---|---|
committer | mattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-02 02:28:56 +0000 |
commit | 6fd550bdd8d9ad83330bed01efa25d801379e9f9 (patch) | |
tree | 6e8031e453ffeb9e192f1eafbf18ea8d4c54657c /base | |
parent | dd8d12a86e01b35b76f4add67cf5e222a475662b (diff) | |
download | chromium_src-6fd550bdd8d9ad83330bed01efa25d801379e9f9.zip chromium_src-6fd550bdd8d9ad83330bed01efa25d801379e9f9.tar.gz chromium_src-6fd550bdd8d9ad83330bed01efa25d801379e9f9.tar.bz2 |
Revert "Currently, base/timer.cc calls PostTask with FROM_HERE as the Location,
so the original code that created the delayed callback is lost."
This reverts commit 4cf5cf73d319b69c32ad30af8954235755856455. (r99284)
TBR=jbates@chromium.org
Review URL: http://codereview.chromium.org/7825026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99290 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/system_monitor/system_monitor.cc | 2 | ||||
-rw-r--r-- | base/timer.cc | 2 | ||||
-rw-r--r-- | base/timer.h | 34 | ||||
-rw-r--r-- | base/timer_unittest.cc | 18 |
4 files changed, 20 insertions, 36 deletions
diff --git a/base/system_monitor/system_monitor.cc b/base/system_monitor/system_monitor.cc index 2631789..7b1349c 100644 --- a/base/system_monitor/system_monitor.cc +++ b/base/system_monitor/system_monitor.cc @@ -27,7 +27,7 @@ SystemMonitor::SystemMonitor() DCHECK(MessageLoop::current()); #if defined(ENABLE_BATTERY_MONITORING) - delayed_battery_check_.Start(FROM_HERE, + delayed_battery_check_.Start( base::TimeDelta::FromMilliseconds(kDelayedBatteryCheckMs), this, &SystemMonitor::BatteryCheck); #endif // defined(ENABLE_BATTERY_MONITORING) diff --git a/base/timer.cc b/base/timer.cc index 8c06693..ce5fab6 100644 --- a/base/timer.cc +++ b/base/timer.cc @@ -21,7 +21,7 @@ void BaseTimer_Helper::InitiateDelayedTask(TimerTask* timer_task) { delayed_task_ = timer_task; delayed_task_->timer_ = this; MessageLoop::current()->PostDelayedTask( - timer_task->posted_from_, timer_task, + FROM_HERE, timer_task, static_cast<int>(timer_task->delay_.InMillisecondsRoundedUp())); } diff --git a/base/timer.h b/base/timer.h index 30cb109..2e21582 100644 --- a/base/timer.h +++ b/base/timer.h @@ -87,14 +87,9 @@ class BASE_EXPORT BaseTimer_Helper { // We have access to the timer_ member so we can orphan this task. class TimerTask : public Task { public: - TimerTask(const tracked_objects::Location& posted_from, - TimeDelta delay) - : posted_from_(posted_from), - timer_(NULL), - delay_(delay) { + explicit TimerTask(TimeDelta delay) : timer_(NULL), delay_(delay) { } virtual ~TimerTask() {} - tracked_objects::Location posted_from_; BaseTimer_Helper* timer_; TimeDelta delay_; }; @@ -121,12 +116,9 @@ class BaseTimer : public BaseTimer_Helper { // Call this method to start the timer. It is an error to call this method // while the timer is already running. - void Start(const tracked_objects::Location& posted_from, - TimeDelta delay, - Receiver* receiver, - ReceiverMethod method) { + void Start(TimeDelta delay, Receiver* receiver, ReceiverMethod method) { DCHECK(!IsRunning()); - InitiateDelayedTask(new TimerTask(posted_from, delay, receiver, method)); + InitiateDelayedTask(new TimerTask(delay, receiver, method)); } // Call this method to stop the timer. It is a no-op if the timer is not @@ -146,11 +138,8 @@ class BaseTimer : public BaseTimer_Helper { class TimerTask : public BaseTimer_Helper::TimerTask { public: - TimerTask(const tracked_objects::Location& posted_from, - TimeDelta delay, - Receiver* receiver, - ReceiverMethod method) - : BaseTimer_Helper::TimerTask(posted_from, delay), + TimerTask(TimeDelta delay, Receiver* receiver, ReceiverMethod method) + : BaseTimer_Helper::TimerTask(delay), receiver_(receiver), method_(method) { } @@ -173,7 +162,7 @@ class BaseTimer : public BaseTimer_Helper { } TimerTask* Clone() const { - return new TimerTask(posted_from_, delay_, receiver_, method_); + return new TimerTask(delay_, receiver_, method_); } private: @@ -232,12 +221,8 @@ class DelayTimer { public: typedef void (Receiver::*ReceiverMethod)(); - DelayTimer(const tracked_objects::Location& posted_from, - TimeDelta delay, - Receiver* receiver, - ReceiverMethod method) - : posted_from_(posted_from), - receiver_(receiver), + DelayTimer(TimeDelta delay, Receiver* receiver, ReceiverMethod method) + : receiver_(receiver), method_(method), delay_(delay) { } @@ -257,7 +242,7 @@ class DelayTimer { // The timer isn't running, or will expire too late, so restart it. timer_.Stop(); - timer_.Start(posted_from_, delay, this, &DelayTimer<Receiver>::Check); + timer_.Start(delay, this, &DelayTimer<Receiver>::Check); } void Check() { @@ -274,7 +259,6 @@ class DelayTimer { (receiver_->*method_)(); } - tracked_objects::Location posted_from_; Receiver *const receiver_; const ReceiverMethod method_; const TimeDelta delay_; diff --git a/base/timer_unittest.cc b/base/timer_unittest.cc index 0013bcc..bb0eade 100644 --- a/base/timer_unittest.cc +++ b/base/timer_unittest.cc @@ -19,7 +19,7 @@ class OneShotTimerTester { delay_ms_(milliseconds) { } void Start() { - timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(delay_ms_), this, + timer_.Start(TimeDelta::FromMilliseconds(delay_ms_), this, &OneShotTimerTester::Run); } private: @@ -39,7 +39,7 @@ class OneShotSelfDeletingTimerTester { timer_(new base::OneShotTimer<OneShotSelfDeletingTimerTester>()) { } void Start() { - timer_->Start(FROM_HERE, TimeDelta::FromMilliseconds(10), this, + timer_->Start(TimeDelta::FromMilliseconds(10), this, &OneShotSelfDeletingTimerTester::Run); } private: @@ -59,7 +59,7 @@ class RepeatingTimerTester { } void Start() { - timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(10), this, + timer_.Start(TimeDelta::FromMilliseconds(10), this, &RepeatingTimerTester::Run); } private: @@ -176,7 +176,7 @@ void RunTest_DelayTimer_NoCall(MessageLoop::Type message_loop_type) { // If Delay is never called, the timer shouldn't go off. DelayTimerTarget target; - base::DelayTimer<DelayTimerTarget> timer(FROM_HERE, + base::DelayTimer<DelayTimerTarget> timer( TimeDelta::FromMilliseconds(1), &target, &DelayTimerTarget::Signal); bool did_run = false; @@ -191,7 +191,7 @@ void RunTest_DelayTimer_OneCall(MessageLoop::Type message_loop_type) { MessageLoop loop(message_loop_type); DelayTimerTarget target; - base::DelayTimer<DelayTimerTarget> timer(FROM_HERE, + base::DelayTimer<DelayTimerTarget> timer( TimeDelta::FromMilliseconds(1), &target, &DelayTimerTarget::Signal); timer.Reset(); @@ -225,7 +225,7 @@ void RunTest_DelayTimer_Reset(MessageLoop::Type message_loop_type) { // If Delay is never called, the timer shouldn't go off. DelayTimerTarget target; - base::DelayTimer<DelayTimerTarget> timer(FROM_HERE, + base::DelayTimer<DelayTimerTarget> timer( TimeDelta::FromMilliseconds(50), &target, &DelayTimerTarget::Signal); timer.Reset(); @@ -233,8 +233,8 @@ void RunTest_DelayTimer_Reset(MessageLoop::Type message_loop_type) { base::OneShotTimer<ResetHelper> timers[20]; for (size_t i = 0; i < arraysize(timers); ++i) { - timers[i].Start(FROM_HERE, TimeDelta::FromMilliseconds(i * 10), - &reset_helper, &ResetHelper::Reset); + timers[i].Start(TimeDelta::FromMilliseconds(i * 10), &reset_helper, + &ResetHelper::Reset); } bool did_run = false; @@ -260,7 +260,7 @@ void RunTest_DelayTimer_Deleted(MessageLoop::Type message_loop_type) { { base::DelayTimer<DelayTimerFatalTarget> timer( - FROM_HERE, TimeDelta::FromMilliseconds(50), &target, + TimeDelta::FromMilliseconds(50), &target, &DelayTimerFatalTarget::Signal); timer.Reset(); } |