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

Side by Side Diff: blimp/engine/app/blimp_metrics_service_client.cc

Issue 1958003003: Splitting the concept of UMA consent, and should UMA report. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "blimp/engine/app/blimp_metrics_service_client.h" 5 #include "blimp/engine/app/blimp_metrics_service_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/i18n/rtl.h" 8 #include "base/i18n/rtl.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 13 matching lines...) Expand all
24 #include "net/url_request/url_request_context_getter.h" 24 #include "net/url_request/url_request_context_getter.h"
25 25
26 namespace blimp { 26 namespace blimp {
27 namespace engine { 27 namespace engine {
28 namespace { 28 namespace {
29 29
30 // How often after initial logging metrics results should be uploaded to the 30 // How often after initial logging metrics results should be uploaded to the
31 // metrics service. 31 // metrics service.
32 const int kStandardUploadIntervalMinutes = 30; 32 const int kStandardUploadIntervalMinutes = 30;
33 33
34 // Returns if the MetricsService should be recording metrics information for
35 // the client. Always true.
36 // This callback is required by MetricsStateManager::Create.
37 bool IsReportingEnabled() {
38 return true;
39 }
40
41 // Store/LoadClientInfo allows Windows Chrome to back up ClientInfo. 34 // Store/LoadClientInfo allows Windows Chrome to back up ClientInfo.
42 // Both are no-ops for Blimp. 35 // Both are no-ops for Blimp.
43 // These callbacks are required by MetricsStateManager::Create. 36 // These callbacks are required by MetricsStateManager::Create.
44 void StoreClientInfo(const metrics::ClientInfo& client_info) {} 37 void StoreClientInfo(const metrics::ClientInfo& client_info) {}
45 38
46 std::unique_ptr<metrics::ClientInfo> LoadClientInfo() { 39 std::unique_ptr<metrics::ClientInfo> LoadClientInfo() {
47 return nullptr; 40 return nullptr;
48 } 41 }
49 42
50 } // namespace 43 } // namespace
51 44
52 BlimpMetricsServiceClient::BlimpMetricsServiceClient( 45 BlimpMetricsServiceClient::BlimpMetricsServiceClient(
53 PrefService* pref_service, 46 PrefService* pref_service,
54 scoped_refptr<net::URLRequestContextGetter> request_context_getter) { 47 scoped_refptr<net::URLRequestContextGetter> request_context_getter) {
55 request_context_getter_ = request_context_getter; 48 request_context_getter_ = request_context_getter;
56 49
57 metrics_state_manager_ = metrics::MetricsStateManager::Create( 50 metrics_state_manager_ = metrics::MetricsStateManager::Create(
58 pref_service, base::Bind(&IsReportingEnabled), 51 pref_service, this, base::Bind(&StoreClientInfo),
59 base::Bind(&StoreClientInfo), base::Bind(&LoadClientInfo)); 52 base::Bind(&LoadClientInfo));
60 53
61 // Metrics state manager created while other class instances exist. 54 // Metrics state manager created while other class instances exist.
62 // Sign of multiple initializations. 55 // Sign of multiple initializations.
63 DCHECK(metrics_state_manager_); 56 DCHECK(metrics_state_manager_);
64 57
65 metrics_service_.reset(new metrics::MetricsService( 58 metrics_service_.reset(new metrics::MetricsService(
66 metrics_state_manager_.get(), this, pref_service)); 59 metrics_state_manager_.get(), this, pref_service));
67 metrics_service_->RegisterMetricsProvider( 60 metrics_service_->RegisterMetricsProvider(
68 base::WrapUnique<metrics::MetricsProvider>( 61 base::WrapUnique<metrics::MetricsProvider>(
69 new metrics::NetworkMetricsProvider( 62 new metrics::NetworkMetricsProvider(
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 149
157 base::TimeDelta BlimpMetricsServiceClient::GetStandardUploadInterval() { 150 base::TimeDelta BlimpMetricsServiceClient::GetStandardUploadInterval() {
158 return base::TimeDelta::FromMinutes(kStandardUploadIntervalMinutes); 151 return base::TimeDelta::FromMinutes(kStandardUploadIntervalMinutes);
159 } 152 }
160 153
161 metrics::MetricsServiceClient::EnableMetricsDefault 154 metrics::MetricsServiceClient::EnableMetricsDefault
162 BlimpMetricsServiceClient::GetDefaultOptIn() { 155 BlimpMetricsServiceClient::GetDefaultOptIn() {
163 return OPT_IN; 156 return OPT_IN;
164 } 157 }
165 158
159 bool BlimpMetricsServiceClient::IsConsentGiven() {
160 return true;
161 }
162
166 } // namespace engine 163 } // namespace engine
167 } // namespace blimp 164 } // namespace blimp
OLDNEW
« no previous file with comments | « blimp/engine/app/blimp_metrics_service_client.h ('k') | chrome/browser/metrics/chrome_metrics_services_manager_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698