| Index: chrome/browser/metrics/metrics_service.cc
|
| diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc
|
| index 93dffd8b251634fce6ff91e4b997c43520c86564..14d164c8d3a8eeac812c2e0da5ba9306ad4e2f6a 100644
|
| --- a/chrome/browser/metrics/metrics_service.cc
|
| +++ b/chrome/browser/metrics/metrics_service.cc
|
| @@ -760,10 +760,11 @@ std::string MetricsService::GenerateClientID() {
|
| // 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 @@ void MetricsService::LogCleanShutdown() {
|
| // 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
|
|
|