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

Side by Side Diff: chrome/browser/omaha_query_params/omaha_query_params.cc

Issue 333353005: Move OmahaQueryParams to a component and add a delegate interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
(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_query_params/omaha_query_params.h"
6
7 #include "base/compiler_specific.h"
8 #include "base/strings/stringprintf.h"
9 #include "base/win/windows_version.h"
10 #include "chrome/browser/browser_process.h"
11 #include "chrome/common/chrome_version_info.h"
12
13 namespace {
14
15 const char kUnknown[] = "unknown";
16
17 // The request extra information is the OS and architecture, this helps
18 // the server select the right package to be delivered.
19 const char kOs[] =
20 #if defined(OS_MACOSX)
21 "mac";
22 #elif defined(OS_WIN)
23 "win";
24 #elif defined(OS_ANDROID)
25 "android";
26 #elif defined(OS_CHROMEOS)
27 "cros";
28 #elif defined(OS_LINUX)
29 "linux";
30 #elif defined(OS_OPENBSD)
31 "openbsd";
32 #else
33 #error "unknown os"
34 #endif
35
36 const char kArch[] =
37 #if defined(__amd64__) || defined(_WIN64)
38 "x64";
39 #elif defined(__i386__) || defined(_WIN32)
40 "x86";
41 #elif defined(__arm__)
42 "arm";
43 #elif defined(__aarch64__)
44 "arm64";
45 #elif defined(__mips__)
46 "mipsel";
47 #else
48 #error "unknown arch"
49 #endif
50
51 const char kChrome[] = "chrome";
52
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)
59 const char kChromeCrx[] = "chromecrx";
60 #else
61 const char kChromiumCrx[] = "chromiumcrx";
62 #endif // defined(GOOGLE_CHROME_BUILD)
63
64 } // namespace
65
66 namespace chrome {
67
68 // static
69 std::string OmahaQueryParams::Get(ProdId prod) {
70 return base::StringPrintf(
71 "os=%s&arch=%s&nacl_arch=%s&prod=%s&prodchannel=%s"
72 "&prodversion=%s&lang=%s",
73 kOs,
74 kArch,
75 GetNaclArch(),
76 GetProdIdString(prod),
77 GetChannelString(),
78 chrome::VersionInfo().Version().c_str(),
79 GetLang());
80 }
81
82 // static
83 const char* OmahaQueryParams::GetProdIdString(
84 chrome::OmahaQueryParams::ProdId prod) {
85 switch (prod) {
86 case chrome::OmahaQueryParams::CHROME:
87 return kChrome;
88 break;
89 case chrome::OmahaQueryParams::CRX:
90 #if defined(GOOGLE_CHROME_BUILD)
91 return kChromeCrx;
92 #else
93 return kChromiumCrx;
94 #endif
95 break;
96 }
97 return kUnknown;
98 }
99
100 // static
101 const char* OmahaQueryParams::GetOS() {
102 return kOs;
103 }
104
105 // static
106 const char* OmahaQueryParams::GetArch() {
107 return kArch;
108 }
109
110 // static
111 const char* OmahaQueryParams::GetNaclArch() {
112 #if defined(ARCH_CPU_X86_FAMILY)
113 #if defined(ARCH_CPU_X86_64)
114 return "x86-64";
115 #elif defined(OS_WIN)
116 bool x86_64 = (base::win::OSInfo::GetInstance()->wow64_status() ==
117 base::win::OSInfo::WOW64_ENABLED);
118 return x86_64 ? "x86-64" : "x86-32";
119 #else
120 return "x86-32";
121 #endif
122 #elif defined(ARCH_CPU_ARMEL)
123 return "arm";
124 #elif defined(ARCH_CPU_ARM64)
125 return "arm64";
126 #elif defined(ARCH_CPU_MIPSEL)
127 return "mips32";
128 #else
129 // NOTE: when adding new values here, please remember to update the
130 // comment in the .h file about possible return values from this function.
131 #error "You need to add support for your architecture here"
132 #endif
133 }
134
135 const char* OmahaQueryParams::GetChannelString() {
136 switch (chrome::VersionInfo::GetChannel()) {
137 case chrome::VersionInfo::CHANNEL_STABLE:
138 return kStable;
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 }
155
156 const char* OmahaQueryParams::GetLang() {
157 return g_browser_process->GetApplicationLocale().c_str();
158 }
159
160 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698