Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(464)

Unified Diff: chrome/browser/chromeos/chrome_browser_main_chromeos.cc

Issue 25112004: Move statistics_provider to chromeos/system (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix browser tests Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/chrome_browser_main_chromeos.cc
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
index fcbd489b41a3d3e312c53547c38c58898ab34f72..aff8a887f13cd00b6c88b4e4900b4f63fd5e4778 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -67,7 +67,6 @@
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/browser/chromeos/settings/owner_key_util.h"
#include "chrome/browser/chromeos/status/data_promo_notification.h"
-#include "chrome/browser/chromeos/system/statistics_provider.h"
#include "chrome/browser/chromeos/system_key_event_listener.h"
#include "chrome/browser/chromeos/upgrade_detector_chromeos.h"
#include "chrome/browser/chromeos/xinput_hierarchy_changed_event_listener.h"
@@ -100,6 +99,7 @@
#include "chromeos/network/network_change_notifier_chromeos.h"
#include "chromeos/network/network_change_notifier_factory_chromeos.h"
#include "chromeos/network/network_handler.h"
+#include "chromeos/system/statistics_provider.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/power_save_blocker.h"
@@ -384,10 +384,6 @@ void ChromeBrowserMainPartsChromeos::PreEarlyInitialization() {
switches::kLoginProfile).value();
}
- // Initialize the statistics provider, which will ensure that the Chrome
- // channel info is read and made available early.
- system::StatisticsProvider::GetInstance()->Init();
-
#if defined(GOOGLE_CHROME_BUILD)
const char kChromeOSReleaseTrack[] = "CHROMEOS_RELEASE_TRACK";
std::string channel;
@@ -427,8 +423,13 @@ void ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() {
CrasAudioHandler::Initialize(
AudioDevicesPrefHandler::Create(g_browser_process->local_state()));
- if (!StartupUtils::IsOobeCompleted())
- system::StatisticsProvider::GetInstance()->LoadOemManifest();
+ // Start loading machine statistics here. StatisticsProvider::Shutdown()
+ // will ensure that loading is aborted on early exit.
+ bool load_oem_statistics = !StartupUtils::IsOobeCompleted();
+ system::StatisticsProvider::GetInstance()->StartLoadingMachineStatistics(
+ content::BrowserThread::GetMessageLoopProxyForThread(
+ content::BrowserThread::FILE),
+ load_oem_statistics);
base::FilePath downloads_directory;
CHECK(PathService::Get(chrome::DIR_DEFAULT_DOWNLOADS, &downloads_directory));
@@ -580,13 +581,6 @@ void ChromeBrowserMainPartsChromeos::PostProfileInit() {
UserManager::Get()->RestoreActiveSessions();
}
- // Start loading the machine statistics. Note: if we start loading machine
- // statistics early in PreEarlyInitialization() then the crossystem tool
- // sometimes hangs for unknown reasons, see http://crbug.com/167671.
- // Also we must start loading no later than this point, because login manager
- // may call GetMachineStatistic() during startup, see crbug.com/170635.
- system::StatisticsProvider::GetInstance()->StartLoadingMachineStatistics();
-
// Tests should be able to tune login manager before showing it.
// Thus only show login manager in normal (non-testing) mode.
if (!parameters().ui_task ||
@@ -755,6 +749,7 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() {
MagnificationManager::Shutdown();
AccessibilityManager::Shutdown();
+ system::StatisticsProvider::GetInstance()->Shutdown();
satorux1 2013/10/07 05:01:54 Other classes just provide static Shutdown() and I
stevenjb 2013/10/07 18:07:30 Those classes don't use Singleton<> and their Shut
// Let the UserManager and WallpaperManager unregister itself as an observer
// of the CrosSettings singleton before it is destroyed. This also ensures

Powered by Google App Engine
This is Rietveld 408576698