| Index: chrome/browser/omaha_query_params/chrome_omaha_query_params_delegate.cc
|
| diff --git a/chrome/browser/omaha_query_params/chrome_omaha_query_params_delegate.cc b/chrome/browser/omaha_query_params/chrome_omaha_query_params_delegate.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..40d1eeda3beb69e99f297189cbf47e531b75c5a9
|
| --- /dev/null
|
| +++ b/chrome/browser/omaha_query_params/chrome_omaha_query_params_delegate.cc
|
| @@ -0,0 +1,68 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/omaha_query_params/chrome_omaha_query_params_delegate.h"
|
| +
|
| +#include "base/lazy_instance.h"
|
| +#include "base/strings/stringprintf.h"
|
| +#include "chrome/browser/browser_process.h"
|
| +#include "chrome/common/chrome_version_info.h"
|
| +
|
| +namespace {
|
| +
|
| +const char kUnknown[] = "unknown";
|
| +const char kStable[] = "stable";
|
| +const char kBeta[] = "beta";
|
| +const char kDev[] = "dev";
|
| +const char kCanary[] = "canary";
|
| +
|
| +base::LazyInstance<ChromeOmahaQueryParamsDelegate> g_delegate =
|
| + LAZY_INSTANCE_INITIALIZER;
|
| +
|
| +} // namespace
|
| +
|
| +ChromeOmahaQueryParamsDelegate::ChromeOmahaQueryParamsDelegate() {
|
| +}
|
| +
|
| +ChromeOmahaQueryParamsDelegate::~ChromeOmahaQueryParamsDelegate() {
|
| +}
|
| +
|
| +// static
|
| +ChromeOmahaQueryParamsDelegate* ChromeOmahaQueryParamsDelegate::GetInstance() {
|
| + return g_delegate.Pointer();
|
| +}
|
| +
|
| +std::string ChromeOmahaQueryParamsDelegate::GetExtraParams() {
|
| + return base::StringPrintf("&prodchannel=%s&prodversion=%s&lang=%s",
|
| + GetChannelString(),
|
| + chrome::VersionInfo().Version().c_str(),
|
| + GetLang());
|
| +}
|
| +
|
| +// static
|
| +const char* ChromeOmahaQueryParamsDelegate::GetChannelString() {
|
| + switch (chrome::VersionInfo::GetChannel()) {
|
| + case chrome::VersionInfo::CHANNEL_STABLE:
|
| + return kStable;
|
| + break;
|
| + case chrome::VersionInfo::CHANNEL_BETA:
|
| + return kBeta;
|
| + break;
|
| + case chrome::VersionInfo::CHANNEL_DEV:
|
| + return kDev;
|
| + break;
|
| + case chrome::VersionInfo::CHANNEL_CANARY:
|
| + return kCanary;
|
| + break;
|
| + case chrome::VersionInfo::CHANNEL_UNKNOWN:
|
| + return kUnknown;
|
| + break;
|
| + }
|
| + return kUnknown;
|
| +}
|
| +
|
| +// static
|
| +const char* ChromeOmahaQueryParamsDelegate::GetLang() {
|
| + return g_browser_process->GetApplicationLocale().c_str();
|
| +}
|
|
|