| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/metrics/chrome_metrics_services_manager_client.h" | 5 #include "chrome/browser/metrics/chrome_metrics_services_manager_client.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/feature_list.h" | 8 #include "base/feature_list.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 std::unique_ptr<const base::FieldTrial::EntropyProvider> | 223 std::unique_ptr<const base::FieldTrial::EntropyProvider> |
| 224 ChromeMetricsServicesManagerClient::CreateEntropyProvider() { | 224 ChromeMetricsServicesManagerClient::CreateEntropyProvider() { |
| 225 return GetMetricsStateManager()->CreateDefaultEntropyProvider(); | 225 return GetMetricsStateManager()->CreateDefaultEntropyProvider(); |
| 226 } | 226 } |
| 227 | 227 |
| 228 net::URLRequestContextGetter* | 228 net::URLRequestContextGetter* |
| 229 ChromeMetricsServicesManagerClient::GetURLRequestContext() { | 229 ChromeMetricsServicesManagerClient::GetURLRequestContext() { |
| 230 return g_browser_process->system_request_context(); | 230 return g_browser_process->system_request_context(); |
| 231 } | 231 } |
| 232 | 232 |
| 233 bool ChromeMetricsServicesManagerClient::IsSafeBrowsingEnabled( | |
| 234 const base::Closure& on_update_callback) { | |
| 235 // Start listening for updates to SB service state. This is done here instead | |
| 236 // of in the constructor to avoid errors from trying to instantiate SB | |
| 237 // service before the IO thread exists. | |
| 238 safe_browsing::SafeBrowsingService* sb_service = | |
| 239 g_browser_process->safe_browsing_service(); | |
| 240 if (!sb_state_subscription_ && sb_service) { | |
| 241 // It is safe to pass the callback received from the | |
| 242 // MetricsServicesManager here since the MetricsServicesManager owns | |
| 243 // this object, which owns the sb_state_subscription_, which owns the | |
| 244 // pointer to the MetricsServicesManager. | |
| 245 sb_state_subscription_ = | |
| 246 sb_service->RegisterStateCallback(on_update_callback); | |
| 247 } | |
| 248 | |
| 249 return sb_service && sb_service->enabled_by_prefs(); | |
| 250 } | |
| 251 | |
| 252 bool ChromeMetricsServicesManagerClient::IsMetricsReportingEnabled() { | 233 bool ChromeMetricsServicesManagerClient::IsMetricsReportingEnabled() { |
| 253 return enabled_state_provider_->IsReportingEnabled(); | 234 return enabled_state_provider_->IsReportingEnabled(); |
| 254 } | 235 } |
| 255 | 236 |
| 256 bool ChromeMetricsServicesManagerClient::OnlyDoMetricsRecording() { | 237 bool ChromeMetricsServicesManagerClient::OnlyDoMetricsRecording() { |
| 257 const base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess(); | 238 const base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess(); |
| 258 return cmdline->HasSwitch(switches::kMetricsRecordingOnly) || | 239 return cmdline->HasSwitch(switches::kMetricsRecordingOnly) || |
| 259 cmdline->HasSwitch(switches::kEnableBenchmarking); | 240 cmdline->HasSwitch(switches::kEnableBenchmarking); |
| 260 } | 241 } |
| 261 | 242 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 288 ChromeMetricsServicesManagerClient::GetMetricsStateManager() { | 269 ChromeMetricsServicesManagerClient::GetMetricsStateManager() { |
| 289 DCHECK(thread_checker_.CalledOnValidThread()); | 270 DCHECK(thread_checker_.CalledOnValidThread()); |
| 290 if (!metrics_state_manager_) { | 271 if (!metrics_state_manager_) { |
| 291 metrics_state_manager_ = metrics::MetricsStateManager::Create( | 272 metrics_state_manager_ = metrics::MetricsStateManager::Create( |
| 292 local_state_, enabled_state_provider_.get(), | 273 local_state_, enabled_state_provider_.get(), |
| 293 base::Bind(&PostStoreMetricsClientInfo), | 274 base::Bind(&PostStoreMetricsClientInfo), |
| 294 base::Bind(&GoogleUpdateSettings::LoadMetricsClientInfo)); | 275 base::Bind(&GoogleUpdateSettings::LoadMetricsClientInfo)); |
| 295 } | 276 } |
| 296 return metrics_state_manager_.get(); | 277 return metrics_state_manager_.get(); |
| 297 } | 278 } |
| OLD | NEW |