Migrate several instances of NewRunnableMethod to base::Bind in browser/metrics

BUG=none
TEST=none


Review URL: http://codereview.chromium.org/8536054

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110848 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc
index 93dffd8b..14d164c8 100644
--- a/chrome/browser/metrics/metrics_service.cc
+++ b/chrome/browser/metrics/metrics_service.cc
@@ -760,10 +760,11 @@
 // State save methods
 
 void MetricsService::ScheduleNextStateSave() {
-  state_saver_factory_.RevokeAll();
+  state_saver_factory_.InvalidateWeakPtrs();
 
   MessageLoop::current()->PostDelayedTask(FROM_HERE,
-      state_saver_factory_.NewRunnableMethod(&MetricsService::SaveLocalState),
+      base::Bind(&MetricsService::SaveLocalState,
+                 state_saver_factory_.GetWeakPtr()),
       kSaveStateInterval * 1000);
 }
 
@@ -1304,7 +1305,7 @@
   // completed.
   base::WaitableEvent done_writing(false, false);
   BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE,
-      NewRunnableFunction(Signal, &done_writing));
+                          base::Bind(Signal, &done_writing));
   done_writing.TimedWait(base::TimeDelta::FromHours(1));
 
   // Redundant setting to assure that we always reset this value at shutdown