Popular sites on the NTP: check that experiment group StartsWith (rather than IS...
[chromium-blink-merge.git] / chrome / browser / profiles / chrome_version_service.cc
blob5ca66f550feddc00e4fa428201a721ee432790ab
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
3 // found in the LICENSE file.
5 #include "chrome/browser/profiles/chrome_version_service.h"
7 #include "base/prefs/pref_service.h"
8 #include "base/version.h"
9 #include "chrome/common/pref_names.h"
10 #include "components/pref_registry/pref_registry_syncable.h"
11 #include "components/version_info/version_info.h"
13 // static
14 void ChromeVersionService::RegisterProfilePrefs(
15 user_prefs::PrefRegistrySyncable* registry) {
16 registry->RegisterStringPref(prefs::kProfileCreatedByVersion, "1.0.0.0");
19 // static
20 void ChromeVersionService::SetVersion(PrefService* prefs,
21 const std::string& version) {
22 prefs->SetString(prefs::kProfileCreatedByVersion, version);
25 // static
26 std::string ChromeVersionService::GetVersion(PrefService* prefs) {
27 return prefs->GetString(prefs::kProfileCreatedByVersion);
30 // static
31 void ChromeVersionService::OnProfileLoaded(PrefService* prefs,
32 bool is_new_profile) {
33 // If this is a new profile set version to current version, otherwise
34 // (pre-existing profile), leave pref at default value (1.0.0.0) to
35 // avoid any first-run behavior.
36 std::string version = version_info::GetVersionNumber();
37 if (prefs->FindPreference(prefs::kProfileCreatedByVersion)->
38 IsDefaultValue() && is_new_profile) {
39 SetVersion(prefs, version);