OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "components/variations/service/variations_service.h" | 5 #include "components/variations/service/variations_service.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <utility> |
9 | 10 |
10 #include "base/build_time.h" | 11 #include "base/build_time.h" |
11 #include "base/command_line.h" | 12 #include "base/command_line.h" |
12 #include "base/metrics/histogram.h" | 13 #include "base/metrics/histogram.h" |
13 #include "base/metrics/sparse_histogram.h" | 14 #include "base/metrics/sparse_histogram.h" |
14 #include "base/prefs/pref_registry_simple.h" | 15 #include "base/prefs/pref_registry_simple.h" |
15 #include "base/prefs/pref_service.h" | 16 #include "base/prefs/pref_service.h" |
16 #include "base/strings/string_util.h" | 17 #include "base/strings/string_util.h" |
17 #include "base/sys_info.h" | 18 #include "base/sys_info.h" |
18 #include "base/task_runner_util.h" | 19 #include "base/task_runner_util.h" |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 } | 270 } |
270 | 271 |
271 } // namespace | 272 } // namespace |
272 | 273 |
273 VariationsService::VariationsService( | 274 VariationsService::VariationsService( |
274 scoped_ptr<VariationsServiceClient> client, | 275 scoped_ptr<VariationsServiceClient> client, |
275 scoped_ptr<web_resource::ResourceRequestAllowedNotifier> notifier, | 276 scoped_ptr<web_resource::ResourceRequestAllowedNotifier> notifier, |
276 PrefService* local_state, | 277 PrefService* local_state, |
277 metrics::MetricsStateManager* state_manager, | 278 metrics::MetricsStateManager* state_manager, |
278 const UIStringOverrider& ui_string_overrider) | 279 const UIStringOverrider& ui_string_overrider) |
279 : client_(client.Pass()), | 280 : client_(std::move(client)), |
280 ui_string_overrider_(ui_string_overrider), | 281 ui_string_overrider_(ui_string_overrider), |
281 local_state_(local_state), | 282 local_state_(local_state), |
282 state_manager_(state_manager), | 283 state_manager_(state_manager), |
283 policy_pref_service_(local_state), | 284 policy_pref_service_(local_state), |
284 seed_store_(local_state), | 285 seed_store_(local_state), |
285 create_trials_from_seed_called_(false), | 286 create_trials_from_seed_called_(false), |
286 initial_request_completed_(false), | 287 initial_request_completed_(false), |
287 disable_deltas_for_next_request_(false), | 288 disable_deltas_for_next_request_(false), |
288 resource_request_allowed_notifier_(notifier.Pass()), | 289 resource_request_allowed_notifier_(std::move(notifier)), |
289 request_count_(0), | 290 request_count_(0), |
290 weak_ptr_factory_(this) { | 291 weak_ptr_factory_(this) { |
291 DCHECK(client_.get()); | 292 DCHECK(client_.get()); |
292 DCHECK(resource_request_allowed_notifier_.get()); | 293 DCHECK(resource_request_allowed_notifier_.get()); |
293 | 294 |
294 resource_request_allowed_notifier_->Init(this); | 295 resource_request_allowed_notifier_->Init(this); |
295 } | 296 } |
296 | 297 |
297 VariationsService::~VariationsService() { | 298 VariationsService::~VariationsService() { |
298 } | 299 } |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 const char* disable_network_switch, | 487 const char* disable_network_switch, |
487 const UIStringOverrider& ui_string_overrider) { | 488 const UIStringOverrider& ui_string_overrider) { |
488 scoped_ptr<VariationsService> result; | 489 scoped_ptr<VariationsService> result; |
489 #if !defined(GOOGLE_CHROME_BUILD) | 490 #if !defined(GOOGLE_CHROME_BUILD) |
490 // Unless the URL was provided, unsupported builds should return NULL to | 491 // Unless the URL was provided, unsupported builds should return NULL to |
491 // indicate that the service should not be used. | 492 // indicate that the service should not be used. |
492 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | 493 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
493 switches::kVariationsServerURL)) { | 494 switches::kVariationsServerURL)) { |
494 DVLOG(1) << "Not creating VariationsService in unofficial build without --" | 495 DVLOG(1) << "Not creating VariationsService in unofficial build without --" |
495 << switches::kVariationsServerURL << " specified."; | 496 << switches::kVariationsServerURL << " specified."; |
496 return result.Pass(); | 497 return result; |
497 } | 498 } |
498 #endif | 499 #endif |
499 result.reset(new VariationsService( | 500 result.reset(new VariationsService( |
500 client.Pass(), | 501 std::move(client), |
501 make_scoped_ptr(new web_resource::ResourceRequestAllowedNotifier( | 502 make_scoped_ptr(new web_resource::ResourceRequestAllowedNotifier( |
502 local_state, disable_network_switch)), | 503 local_state, disable_network_switch)), |
503 local_state, state_manager, ui_string_overrider)); | 504 local_state, state_manager, ui_string_overrider)); |
504 return result.Pass(); | 505 return result; |
505 } | 506 } |
506 | 507 |
507 // static | 508 // static |
508 scoped_ptr<VariationsService> VariationsService::CreateForTesting( | 509 scoped_ptr<VariationsService> VariationsService::CreateForTesting( |
509 scoped_ptr<VariationsServiceClient> client, | 510 scoped_ptr<VariationsServiceClient> client, |
510 PrefService* local_state) { | 511 PrefService* local_state) { |
511 return make_scoped_ptr(new VariationsService( | 512 return make_scoped_ptr(new VariationsService( |
512 client.Pass(), | 513 std::move(client), |
513 make_scoped_ptr(new web_resource::ResourceRequestAllowedNotifier( | 514 make_scoped_ptr(new web_resource::ResourceRequestAllowedNotifier( |
514 local_state, nullptr)), | 515 local_state, nullptr)), |
515 local_state, nullptr, UIStringOverrider())); | 516 local_state, nullptr, UIStringOverrider())); |
516 } | 517 } |
517 | 518 |
518 void VariationsService::DoActualFetch() { | 519 void VariationsService::DoActualFetch() { |
519 DCHECK(thread_checker_.CalledOnValidThread()); | 520 DCHECK(thread_checker_.CalledOnValidThread()); |
520 DCHECK(!pending_seed_request_); | 521 DCHECK(!pending_seed_request_); |
521 | 522 |
522 pending_seed_request_ = net::URLFetcher::Create(0, variations_server_url_, | 523 pending_seed_request_ = net::URLFetcher::Create(0, variations_server_url_, |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 std::string stored_country; | 858 std::string stored_country; |
858 | 859 |
859 if (list_value->GetSize() == 2) { | 860 if (list_value->GetSize() == 2) { |
860 list_value->GetString(1, &stored_country); | 861 list_value->GetString(1, &stored_country); |
861 } | 862 } |
862 | 863 |
863 return stored_country; | 864 return stored_country; |
864 } | 865 } |
865 | 866 |
866 } // namespace variations | 867 } // namespace variations |
OLD | NEW |