OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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/omaha_query_params/omaha_query_params.h" | 5 #include "components/omaha_query_params/omaha_query_params.h" |
6 | 6 |
7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/logging.h" |
8 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
9 #include "base/win/windows_version.h" | 10 #include "base/win/windows_version.h" |
10 #include "chrome/browser/browser_process.h" | 11 #include "components/omaha_query_params/omaha_query_params_delegate.h" |
11 #include "chrome/common/chrome_version_info.h" | 12 |
| 13 namespace omaha_query_params { |
12 | 14 |
13 namespace { | 15 namespace { |
14 | 16 |
15 const char kUnknown[] = "unknown"; | 17 const char kUnknown[] = "unknown"; |
16 | 18 |
17 // The request extra information is the OS and architecture, this helps | 19 // The request extra information is the OS and architecture, this helps |
18 // the server select the right package to be delivered. | 20 // the server select the right package to be delivered. |
19 const char kOs[] = | 21 const char kOs[] = |
20 #if defined(OS_MACOSX) | 22 #if defined(OS_MACOSX) |
21 "mac"; | 23 "mac"; |
(...skipping 21 matching lines...) Expand all Loading... |
43 #elif defined(__aarch64__) | 45 #elif defined(__aarch64__) |
44 "arm64"; | 46 "arm64"; |
45 #elif defined(__mips__) | 47 #elif defined(__mips__) |
46 "mipsel"; | 48 "mipsel"; |
47 #else | 49 #else |
48 #error "unknown arch" | 50 #error "unknown arch" |
49 #endif | 51 #endif |
50 | 52 |
51 const char kChrome[] = "chrome"; | 53 const char kChrome[] = "chrome"; |
52 | 54 |
53 const char kStable[] = "stable"; | |
54 const char kBeta[] = "beta"; | |
55 const char kDev[] = "dev"; | |
56 const char kCanary[] = "canary"; | |
57 | |
58 #if defined(GOOGLE_CHROME_BUILD) | 55 #if defined(GOOGLE_CHROME_BUILD) |
59 const char kChromeCrx[] = "chromecrx"; | 56 const char kChromeCrx[] = "chromecrx"; |
60 #else | 57 #else |
61 const char kChromiumCrx[] = "chromiumcrx"; | 58 const char kChromiumCrx[] = "chromiumcrx"; |
62 #endif // defined(GOOGLE_CHROME_BUILD) | 59 #endif // defined(GOOGLE_CHROME_BUILD) |
63 | 60 |
| 61 OmahaQueryParamsDelegate* g_delegate = NULL; |
| 62 |
64 } // namespace | 63 } // namespace |
65 | 64 |
66 namespace chrome { | |
67 | |
68 // static | 65 // static |
69 std::string OmahaQueryParams::Get(ProdId prod) { | 66 std::string OmahaQueryParams::Get(ProdId prod) { |
70 return base::StringPrintf( | 67 return base::StringPrintf( |
71 "os=%s&arch=%s&nacl_arch=%s&prod=%s&prodchannel=%s" | 68 "os=%s&arch=%s&nacl_arch=%s&prod=%s%s", |
72 "&prodversion=%s&lang=%s", | |
73 kOs, | 69 kOs, |
74 kArch, | 70 kArch, |
75 GetNaclArch(), | 71 GetNaclArch(), |
76 GetProdIdString(prod), | 72 GetProdIdString(prod), |
77 GetChannelString(), | 73 g_delegate ? g_delegate->GetExtraParams().c_str() : ""); |
78 chrome::VersionInfo().Version().c_str(), | |
79 GetLang()); | |
80 } | 74 } |
81 | 75 |
82 // static | 76 // static |
83 const char* OmahaQueryParams::GetProdIdString( | 77 const char* OmahaQueryParams::GetProdIdString(OmahaQueryParams::ProdId prod) { |
84 chrome::OmahaQueryParams::ProdId prod) { | |
85 switch (prod) { | 78 switch (prod) { |
86 case chrome::OmahaQueryParams::CHROME: | 79 case OmahaQueryParams::CHROME: |
87 return kChrome; | 80 return kChrome; |
88 break; | 81 break; |
89 case chrome::OmahaQueryParams::CRX: | 82 case OmahaQueryParams::CRX: |
90 #if defined(GOOGLE_CHROME_BUILD) | 83 #if defined(GOOGLE_CHROME_BUILD) |
91 return kChromeCrx; | 84 return kChromeCrx; |
92 #else | 85 #else |
93 return kChromiumCrx; | 86 return kChromiumCrx; |
94 #endif | 87 #endif |
95 break; | 88 break; |
96 } | 89 } |
97 return kUnknown; | 90 return kUnknown; |
98 } | 91 } |
99 | 92 |
(...skipping 25 matching lines...) Expand all Loading... |
125 return "arm64"; | 118 return "arm64"; |
126 #elif defined(ARCH_CPU_MIPSEL) | 119 #elif defined(ARCH_CPU_MIPSEL) |
127 return "mips32"; | 120 return "mips32"; |
128 #else | 121 #else |
129 // NOTE: when adding new values here, please remember to update the | 122 // NOTE: when adding new values here, please remember to update the |
130 // comment in the .h file about possible return values from this function. | 123 // comment in the .h file about possible return values from this function. |
131 #error "You need to add support for your architecture here" | 124 #error "You need to add support for your architecture here" |
132 #endif | 125 #endif |
133 } | 126 } |
134 | 127 |
135 const char* OmahaQueryParams::GetChannelString() { | 128 // static |
136 switch (chrome::VersionInfo::GetChannel()) { | 129 void OmahaQueryParams::SetDelegate(OmahaQueryParamsDelegate* delegate) { |
137 case chrome::VersionInfo::CHANNEL_STABLE: | 130 DCHECK(!g_delegate || !delegate); |
138 return kStable; | 131 g_delegate = delegate; |
139 break; | |
140 case chrome::VersionInfo::CHANNEL_BETA: | |
141 return kBeta; | |
142 break; | |
143 case chrome::VersionInfo::CHANNEL_DEV: | |
144 return kDev; | |
145 break; | |
146 case chrome::VersionInfo::CHANNEL_CANARY: | |
147 return kCanary; | |
148 break; | |
149 case chrome::VersionInfo::CHANNEL_UNKNOWN: | |
150 return kUnknown; | |
151 break; | |
152 } | |
153 return kUnknown; | |
154 } | 132 } |
155 | 133 |
156 const char* OmahaQueryParams::GetLang() { | 134 } // namespace omaha_query_params |
157 return g_browser_process->GetApplicationLocale().c_str(); | |
158 } | |
159 | |
160 } // namespace chrome | |
OLD | NEW |