| Index: chrome/browser/browser_process_impl.cc
|
| diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
| index d4f33666beb5f5002c4b27a6536e9685def34729..20f5b55809d9ff59b6a6d18422bc1abf58cda86d 100644
|
| --- a/chrome/browser/browser_process_impl.cc
|
| +++ b/chrome/browser/browser_process_impl.cc
|
| @@ -44,6 +44,7 @@
|
| #include "chrome/browser/notifications/notification_ui_manager.h"
|
| #include "chrome/browser/policy/browser_policy_connector.h"
|
| #include "chrome/browser/policy/policy_service.h"
|
| +#include "chrome/browser/policy/policy_statistics_collector.h"
|
| #include "chrome/browser/prefs/browser_prefs.h"
|
| #include "chrome/browser/prefs/pref_service.h"
|
| #include "chrome/browser/prerender/prerender_tracker.h"
|
| @@ -184,6 +185,10 @@ void BrowserProcessImpl::StartTearDown() {
|
| BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
|
| base::Bind(&SdchDictionaryFetcher::Shutdown));
|
|
|
| + // Destroy PolicyStatisticsCollector before metrics, policy service and local
|
| + // state are down.
|
| + policy_statistics_collector_.reset();
|
| +
|
| // We need to destroy the MetricsService, VariationsService,
|
| // IntranetRedirectDetector, and SafeBrowsing ClientSideDetectionService
|
| // (owned by the SafeBrowsingService) before the io_thread_ gets destroyed,
|
| @@ -754,6 +759,10 @@ void BrowserProcessImpl::CreateLocalState() {
|
| void BrowserProcessImpl::PreCreateThreads() {
|
| io_thread_.reset(new IOThread(
|
| local_state(), net_log_.get(), extension_event_router_forwarder_.get()));
|
| + policy_statistics_collector_.reset(new policy::PolicyStatisticsCollector(
|
| + policy_service_.get(),
|
| + local_state_.get(),
|
| + MessageLoop::current()->message_loop_proxy()));
|
| }
|
|
|
| void BrowserProcessImpl::PreMainMessageLoopRun() {
|
|
|