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

Unified Diff: chrome/browser/metrics/chrome_metrics_services_manager_client.cc

Issue 1418763002: Revert of Eliminate //chrome dependencies from MetricsServicesManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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/metrics/chrome_metrics_services_manager_client.cc
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
deleted file mode 100644
index 81188abb9677b3043801bd3041a1ed3d665a6fde..0000000000000000000000000000000000000000
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/metrics/chrome_metrics_services_manager_client.h"
-
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "base/prefs/pref_service.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
-#include "chrome/browser/metrics/chrome_metrics_service_client.h"
-#include "chrome/browser/metrics/variations/chrome_variations_service_client.h"
-#include "chrome/browser/metrics/variations/ui_string_overrider_factory.h"
-#include "chrome/browser/ui/browser_otr_state.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/installer/util/google_update_settings.h"
-#include "components/metrics/metrics_state_manager.h"
-#include "components/rappor/rappor_service.h"
-#include "components/variations/service/variations_service.h"
-#include "content/public/browser/browser_thread.h"
-
-namespace {
-
-// Posts |GoogleUpdateSettings::StoreMetricsClientInfo| on blocking pool thread
-// because it needs access to IO and cannot work from UI thread.
-void PostStoreMetricsClientInfo(const metrics::ClientInfo& client_info) {
- content::BrowserThread::GetBlockingPool()->PostTask(
- FROM_HERE,
- base::Bind(&GoogleUpdateSettings::StoreMetricsClientInfo, client_info));
-}
-
-} // namespace
-
-ChromeMetricsServicesManagerClient::ChromeMetricsServicesManagerClient(
- PrefService* local_state)
- : local_state_(local_state) {
- DCHECK(local_state);
-}
-
-ChromeMetricsServicesManagerClient::~ChromeMetricsServicesManagerClient() {}
-
-scoped_ptr<rappor::RapporService>
-ChromeMetricsServicesManagerClient::CreateRapporService() {
- DCHECK(thread_checker_.CalledOnValidThread());
- return make_scoped_ptr(new rappor::RapporService(
- local_state_, base::Bind(&chrome::IsOffTheRecordSessionActive)));
-}
-
-scoped_ptr<variations::VariationsService>
-ChromeMetricsServicesManagerClient::CreateVariationsService() {
- DCHECK(thread_checker_.CalledOnValidThread());
- return variations::VariationsService::Create(
- make_scoped_ptr(new ChromeVariationsServiceClient()), local_state_,
- GetMetricsStateManager(), switches::kDisableBackgroundNetworking,
- chrome_variations::CreateUIStringOverrider());
-}
-
-scoped_ptr<metrics::MetricsServiceClient>
-ChromeMetricsServicesManagerClient::CreateMetricsServiceClient() {
- DCHECK(thread_checker_.CalledOnValidThread());
- return ChromeMetricsServiceClient::Create(GetMetricsStateManager(),
- local_state_);
-}
-
-net::URLRequestContextGetter*
-ChromeMetricsServicesManagerClient::GetURLRequestContext() {
- return g_browser_process->system_request_context();
-}
-
-bool ChromeMetricsServicesManagerClient::IsSafeBrowsingEnabled(
- const base::Closure& on_update_callback) {
- // Start listening for updates to SB service state. This is done here instead
- // of in the constructor to avoid errors from trying to instantiate SB
- // service before the IO thread exists.
- SafeBrowsingService* sb_service = g_browser_process->safe_browsing_service();
- if (!sb_state_subscription_ && sb_service) {
- // It is safe to pass the callback received from the
- // MetricsServicesManager here since the MetricsServicesManager owns
- // this object, which owns the sb_state_subscription_, which owns the
- // pointer to the MetricsServicesManager.
- sb_state_subscription_ =
- sb_service->RegisterStateCallback(on_update_callback);
- }
-
- return sb_service && sb_service->enabled_by_prefs();
-}
-
-bool ChromeMetricsServicesManagerClient::IsMetricsReportingEnabled() {
- return ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled();
-}
-
-bool ChromeMetricsServicesManagerClient::OnlyDoMetricsRecording() {
- const base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess();
- return cmdline->HasSwitch(switches::kMetricsRecordingOnly) ||
- cmdline->HasSwitch(switches::kEnableBenchmarking);
-}
-
-metrics::MetricsStateManager*
-ChromeMetricsServicesManagerClient::GetMetricsStateManager() {
- DCHECK(thread_checker_.CalledOnValidThread());
- if (!metrics_state_manager_) {
- metrics_state_manager_ = metrics::MetricsStateManager::Create(
- local_state_,
- base::Bind(
- &ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled),
- base::Bind(&PostStoreMetricsClientInfo),
- base::Bind(&GoogleUpdateSettings::LoadMetricsClientInfo));
- }
- return metrics_state_manager_.get();
-}
« no previous file with comments | « chrome/browser/metrics/chrome_metrics_services_manager_client.h ('k') | chrome/browser/metrics/metrics_services_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698