Minor cleanup to OneShotTimer and RepeatingTimer:  moves more of the member variables into the Task subclass.

Also included in this change: deprecate MessageLoop::timer_manager(), and change consumers over to use OneShotTimer or RepeatingTimer.

R=beng
BUG=1346553

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1684 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/safe_browsing/protocol_manager.cc b/chrome/browser/safe_browsing/protocol_manager.cc
index c1ed1b4..e66afc5 100644
--- a/chrome/browser/safe_browsing/protocol_manager.cc
+++ b/chrome/browser/safe_browsing/protocol_manager.cc
@@ -49,22 +49,6 @@
 static const int kSbMaxBackOff = 8;
 
 
-// Periodic update task --------------------------------------------------------
-class SafeBrowsingProtocolUpdateTask : public Task {
- public:
-  explicit SafeBrowsingProtocolUpdateTask(SafeBrowsingProtocolManager* manager)
-      : manager_(manager) {
-  }
-
-  void Run() {
-    manager_->GetNextUpdate();
-  }
-
- private:
-  SafeBrowsingProtocolManager* manager_;
-};
-
-
 // SafeBrowsingProtocolManager implementation ----------------------------------
 
 SafeBrowsingProtocolManager::SafeBrowsingProtocolManager(
@@ -93,9 +77,6 @@
 }
 
 SafeBrowsingProtocolManager::~SafeBrowsingProtocolManager() {
-  if (update_timer_.get())
-    MessageLoop::current()->timer_manager()->StopTimer(update_timer_.get());
-
   // Delete in-progress SafeBrowsing requests.
   STLDeleteContainerPairFirstPointers(hash_requests_.begin(),
                                       hash_requests_.end());
@@ -399,17 +380,13 @@
 void SafeBrowsingProtocolManager::ScheduleNextUpdate(bool back_off) {
   DCHECK(next_update_sec_ > 0);
 
-  if (!update_task_.get())
-    update_task_.reset(new SafeBrowsingProtocolUpdateTask(this));
-
-  // Unschedule any current timer & task.
-  TimerManager* tm = MessageLoop::current()->timer_manager();
-  if (update_timer_.get())
-    tm->StopTimer(update_timer_.get());
+  // Unschedule any current timer.
+  update_timer_.Stop();
 
   // Reschedule with the new update.
   const int next_update = GetNextUpdateTime(back_off);
-  update_timer_.reset(tm->StartTimer(next_update, update_task_.get(), false));
+  update_timer_.Start(TimeDelta::FromMilliseconds(next_update), this,
+                      &SafeBrowsingProtocolManager::GetNextUpdate);
 }
 
 // According to section 5 of the SafeBrowsing protocol specification, we must