OLD | NEW |
| (Empty) |
1 // Copyright 2014 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. | |
4 | |
5 #include "chrome/browser/omaha_client/chrome_omaha_query_params_delegate.h" | |
6 | |
7 #include "base/lazy_instance.h" | |
8 #include "base/strings/stringprintf.h" | |
9 #include "chrome/browser/browser_process.h" | |
10 #include "chrome/common/chrome_version_info.h" | |
11 | |
12 namespace { | |
13 | |
14 const char kUnknown[] = "unknown"; | |
15 const char kStable[] = "stable"; | |
16 const char kBeta[] = "beta"; | |
17 const char kDev[] = "dev"; | |
18 const char kCanary[] = "canary"; | |
19 | |
20 base::LazyInstance<ChromeOmahaQueryParamsDelegate> g_delegate = | |
21 LAZY_INSTANCE_INITIALIZER; | |
22 | |
23 } // namespace | |
24 | |
25 ChromeOmahaQueryParamsDelegate::ChromeOmahaQueryParamsDelegate() { | |
26 } | |
27 | |
28 ChromeOmahaQueryParamsDelegate::~ChromeOmahaQueryParamsDelegate() { | |
29 } | |
30 | |
31 // static | |
32 ChromeOmahaQueryParamsDelegate* ChromeOmahaQueryParamsDelegate::GetInstance() { | |
33 return g_delegate.Pointer(); | |
34 } | |
35 | |
36 std::string ChromeOmahaQueryParamsDelegate::GetExtraParams() { | |
37 return base::StringPrintf("&prodchannel=%s&prodversion=%s&lang=%s", | |
38 GetChannelString(), | |
39 chrome::VersionInfo().Version().c_str(), | |
40 GetLang()); | |
41 } | |
42 | |
43 // static | |
44 const char* ChromeOmahaQueryParamsDelegate::GetChannelString() { | |
45 switch (chrome::VersionInfo::GetChannel()) { | |
46 case chrome::VersionInfo::CHANNEL_STABLE: | |
47 return kStable; | |
48 break; | |
49 case chrome::VersionInfo::CHANNEL_BETA: | |
50 return kBeta; | |
51 break; | |
52 case chrome::VersionInfo::CHANNEL_DEV: | |
53 return kDev; | |
54 break; | |
55 case chrome::VersionInfo::CHANNEL_CANARY: | |
56 return kCanary; | |
57 break; | |
58 case chrome::VersionInfo::CHANNEL_UNKNOWN: | |
59 return kUnknown; | |
60 break; | |
61 } | |
62 return kUnknown; | |
63 } | |
64 | |
65 // static | |
66 const char* ChromeOmahaQueryParamsDelegate::GetLang() { | |
67 return g_browser_process->GetApplicationLocale().c_str(); | |
68 } | |
OLD | NEW |