Commit d650ae28 authored by kundaji's avatar kundaji Committed by Commit bot

Add client type in chrome-proxy header for desktop.

Make client an enum instead of string.

BUG=412982

Review URL: https://codereview.chromium.org/596053003

Cr-Commit-Position: refs/heads/master@{#297885}
parent 3c0f5ba7
...@@ -233,7 +233,7 @@ void AwURLRequestContextGetter::InitializeURLRequestContext() { ...@@ -233,7 +233,7 @@ void AwURLRequestContextGetter::InitializeURLRequestContext() {
DCHECK(data_reduction_proxy_settings); DCHECK(data_reduction_proxy_settings);
data_reduction_proxy_auth_request_handler_.reset( data_reduction_proxy_auth_request_handler_.reset(
new data_reduction_proxy::DataReductionProxyAuthRequestHandler( new data_reduction_proxy::DataReductionProxyAuthRequestHandler(
data_reduction_proxy::kClientAndroidWebview, data_reduction_proxy::Client::WEBVIEW_ANDROID,
data_reduction_proxy_settings->params(), data_reduction_proxy_settings->params(),
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO))); BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)));
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h" #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h"
#include "net/url_request/url_request_context_getter.h" #include "net/url_request/url_request_context_getter.h"
using data_reduction_proxy::Client;
using data_reduction_proxy::DataReductionProxyParams; using data_reduction_proxy::DataReductionProxyParams;
using data_reduction_proxy::DataReductionProxySettings; using data_reduction_proxy::DataReductionProxySettings;
...@@ -51,12 +52,28 @@ void DataReductionProxyChromeSettings::RegisterSyntheticFieldTrial( ...@@ -51,12 +52,28 @@ void DataReductionProxyChromeSettings::RegisterSyntheticFieldTrial(
} }
// static // static
std::string DataReductionProxyChromeSettings::GetClient() { Client DataReductionProxyChromeSettings::GetClient() {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
return data_reduction_proxy::kClientChromeAndroid; return Client::CHROME_ANDROID;
#elif defined(OS_IOS) #elif defined(OS_IOS)
return data_reduction_proxy::kClientChromeIOS; return Client::CHROME_IOS;
#elif defined(OS_MACOSX)
return Client::CHROME_MAC;
#elif defined(OS_CHROMEOS)
return Client::CHROME_CHROMEOS;
#elif defined(OS_LINUX)
return Client::CHROME_LINUX;
#elif defined(OS_WIN)
return Client::CHROME_WINDOWS;
#elif defined(OS_FREEBSD)
return Client::CHROME_FREEBSD;
#elif defined(OS_OPENBSD)
return Client::CHROME_OPENBSD;
#elif defined(OS_SOLARIS)
return Client::CHROME_SOLARIS;
#elif defined(OS_QNX)
return Client::CHROME_QNX;
#else #else
return ""; return Client::UNKNOWN;
#endif #endif
} }
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_SETTINGS_H_ #define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_SETTINGS_H_
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "components/data_reduction_proxy/browser/data_reduction_proxy_auth_request_handler.h"
#include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h" #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h"
#include "components/keyed_service/core/keyed_service.h" #include "components/keyed_service/core/keyed_service.h"
...@@ -47,7 +48,7 @@ class DataReductionProxyChromeSettings ...@@ -47,7 +48,7 @@ class DataReductionProxyChromeSettings
net::URLRequestContextGetter* request_context); net::URLRequestContextGetter* request_context);
// Gets the client type for the data reduction proxy. // Gets the client type for the data reduction proxy.
static std::string GetClient(); static data_reduction_proxy::Client GetClient();
private: private:
// Registers the DataReductionProxyEnabled synthetic field trial with // Registers the DataReductionProxyEnabled synthetic field trial with
......
...@@ -31,10 +31,16 @@ namespace data_reduction_proxy { ...@@ -31,10 +31,16 @@ namespace data_reduction_proxy {
const char kAndroidWebViewProtocolVersion[] = ""; const char kAndroidWebViewProtocolVersion[] = "";
#endif #endif
// The clients supported by the data reduction proxy. #define CLIENT_ENUM(name, str_value) \
const char kClientAndroidWebview[] = "webview"; case name: return str_value;
const char kClientChromeAndroid[] = "android"; const char* GetString(Client client) {
const char kClientChromeIOS[] = "ios"; switch (client) {
CLIENT_ENUMS_LIST
}
NOTREACHED();
return "";
}
#undef CLIENT_ENUM
// static // static
bool DataReductionProxyAuthRequestHandler::IsKeySetOnCommandLine() { bool DataReductionProxyAuthRequestHandler::IsKeySetOnCommandLine() {
...@@ -44,10 +50,10 @@ bool DataReductionProxyAuthRequestHandler::IsKeySetOnCommandLine() { ...@@ -44,10 +50,10 @@ bool DataReductionProxyAuthRequestHandler::IsKeySetOnCommandLine() {
} }
DataReductionProxyAuthRequestHandler::DataReductionProxyAuthRequestHandler( DataReductionProxyAuthRequestHandler::DataReductionProxyAuthRequestHandler(
const std::string& client, Client client,
DataReductionProxyParams* params, DataReductionProxyParams* params,
scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) scoped_refptr<base::SingleThreadTaskRunner> network_task_runner)
: client_(client), : client_(GetString(client)),
data_reduction_proxy_params_(params), data_reduction_proxy_params_(params),
network_task_runner_(network_task_runner) { network_task_runner_(network_task_runner) {
GetChromiumBuildAndPatch(ChromiumVersion(), &build_number_, &patch_number_); GetChromiumBuildAndPatch(ChromiumVersion(), &build_number_, &patch_number_);
...@@ -55,11 +61,11 @@ DataReductionProxyAuthRequestHandler::DataReductionProxyAuthRequestHandler( ...@@ -55,11 +61,11 @@ DataReductionProxyAuthRequestHandler::DataReductionProxyAuthRequestHandler(
} }
DataReductionProxyAuthRequestHandler::DataReductionProxyAuthRequestHandler( DataReductionProxyAuthRequestHandler::DataReductionProxyAuthRequestHandler(
const std::string& client, Client client,
const std::string& version, const std::string& version,
DataReductionProxyParams* params, DataReductionProxyParams* params,
scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) scoped_refptr<base::SingleThreadTaskRunner> network_task_runner)
: client_(client), : client_(GetString(client)),
data_reduction_proxy_params_(params), data_reduction_proxy_params_(params),
network_task_runner_(network_task_runner) { network_task_runner_(network_task_runner) {
GetChromiumBuildAndPatch(version, &build_number_, &patch_number_); GetChromiumBuildAndPatch(version, &build_number_, &patch_number_);
......
...@@ -29,9 +29,25 @@ namespace data_reduction_proxy { ...@@ -29,9 +29,25 @@ namespace data_reduction_proxy {
extern const char kAndroidWebViewProtocolVersion[]; extern const char kAndroidWebViewProtocolVersion[];
#endif #endif
extern const char kClientAndroidWebview[]; #define CLIENT_ENUMS_LIST \
extern const char kClientChromeAndroid[]; CLIENT_ENUM(UNKNOWN, "") \
extern const char kClientChromeIOS[]; CLIENT_ENUM(WEBVIEW_ANDROID, "webview") \
CLIENT_ENUM(CHROME_ANDROID, "android") \
CLIENT_ENUM(CHROME_IOS, "ios") \
CLIENT_ENUM(CHROME_MAC, "mac") \
CLIENT_ENUM(CHROME_CHROMEOS, "chromeos") \
CLIENT_ENUM(CHROME_LINUX, "linux") \
CLIENT_ENUM(CHROME_WINDOWS, "win") \
CLIENT_ENUM(CHROME_FREEBSD, "freebsd") \
CLIENT_ENUM(CHROME_OPENBSD, "openbsd") \
CLIENT_ENUM(CHROME_SOLARIS, "solaris") \
CLIENT_ENUM(CHROME_QNX, "qnx")
#define CLIENT_ENUM(name, str_value) name,
typedef enum {
CLIENT_ENUMS_LIST
} Client;
#undef CLIENT_ENUM
class DataReductionProxyParams; class DataReductionProxyParams;
...@@ -42,7 +58,7 @@ class DataReductionProxyAuthRequestHandler { ...@@ -42,7 +58,7 @@ class DataReductionProxyAuthRequestHandler {
// Constructs a DataReductionProxyAuthRequestHandler object with the given // Constructs a DataReductionProxyAuthRequestHandler object with the given
// client type, params, and network task runner. // client type, params, and network task runner.
DataReductionProxyAuthRequestHandler( DataReductionProxyAuthRequestHandler(
const std::string& client, Client client,
DataReductionProxyParams* params, DataReductionProxyParams* params,
scoped_refptr<base::SingleThreadTaskRunner> network_task_runner); scoped_refptr<base::SingleThreadTaskRunner> network_task_runner);
...@@ -89,7 +105,7 @@ class DataReductionProxyAuthRequestHandler { ...@@ -89,7 +105,7 @@ class DataReductionProxyAuthRequestHandler {
// Visible for testing. // Visible for testing.
DataReductionProxyAuthRequestHandler( DataReductionProxyAuthRequestHandler(
const std::string& client, Client client,
const std::string& version, const std::string& version,
DataReductionProxyParams* params, DataReductionProxyParams* params,
scoped_refptr<base::SingleThreadTaskRunner> network_task_runner); scoped_refptr<base::SingleThreadTaskRunner> network_task_runner);
......
...@@ -23,14 +23,6 @@ namespace { ...@@ -23,14 +23,6 @@ namespace {
const char kChromeProxyHeader[] = "chrome-proxy"; const char kChromeProxyHeader[] = "chrome-proxy";
const char kOtherProxy[] = "testproxy:17"; const char kOtherProxy[] = "testproxy:17";
#if defined(OS_ANDROID)
const char kClient[] = "android";
#elif defined(OS_IOS)
const char kClient[] = "ios";
#else
const char kClient[] = "";
#endif
const char kVersion[] = "0.1.2.3"; const char kVersion[] = "0.1.2.3";
const char kExpectedBuild[] = "2"; const char kExpectedBuild[] = "2";
const char kExpectedPatch[] = "3"; const char kExpectedPatch[] = "3";
...@@ -42,49 +34,66 @@ const char kExpectedSession[] = "0-1633771873-1633771873-1633771873"; ...@@ -42,49 +34,66 @@ const char kExpectedSession[] = "0-1633771873-1633771873-1633771873";
const char kTestKey2[] = "test-key2"; const char kTestKey2[] = "test-key2";
const char kExpectedCredentials2[] = "c911fdb402f578787562cf7f00eda972"; const char kExpectedCredentials2[] = "c911fdb402f578787562cf7f00eda972";
const char kExpectedSession2[] = "0-1633771873-1633771873-1633771873"; const char kExpectedSession2[] = "0-1633771873-1633771873-1633771873";
#if defined(OS_ANDROID)
const char kExpectedHeader2[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972, b=2, p=3, c=android";
const char kExpectedHeader3[] =
"ps=86401-1633771873-1633771873-1633771873, "
"sid=d7c1c34ef6b90303b01c48a6c1db6419, b=2, p=3, c=android";
const char kExpectedHeader4[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972, c=android";
#elif defined(OS_IOS)
const char kExpectedHeader2[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972, b=2, p=3, c=ios";
const char kExpectedHeader3[] =
"ps=86401-1633771873-1633771873-1633771873, "
"sid=d7c1c34ef6b90303b01c48a6c1db6419, b=2, p=3, c=ios";
const char kExpectedHeader4[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972, c=ios";
#else
const char kExpectedHeader2[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972, b=2, p=3";
const char kExpectedHeader3[] =
"ps=86401-1633771873-1633771873-1633771873, "
"sid=d7c1c34ef6b90303b01c48a6c1db6419, b=2, p=3";
const char kExpectedHeader4[] =
"ps=0-1633771873-1633771873-1633771873, "
"sid=c911fdb402f578787562cf7f00eda972";
#endif
const char kDataReductionProxyKey[] = "12345"; const char kDataReductionProxyKey[] = "12345";
} // namespace } // namespace
namespace data_reduction_proxy { namespace data_reduction_proxy {
namespace { namespace {
#if defined(OS_ANDROID)
const Client kClient = Client::CHROME_ANDROID;
const char kClientStr[] = "android";
#elif defined(OS_IOS)
const Client kClient = Client::CHROME_IOS;
const char kClientStr[] = "ios";
#elif defined(OS_MACOSX)
const Client kClient = Client::CHROME_MAC;
const char kClientStr[] = "mac";
#elif defined(OS_CHROMEOS)
const Client kClient = Client::CHROME_CHROMEOS;
const char kClientStr[] = "chromeos";
#elif defined(OS_LINUX)
const Client kClient = Client::CHROME_LINUX;
const char kClientStr[] = "linux";
#elif defined(OS_WIN)
const Client kClient = Client::CHROME_WINDOWS;
const char kClientStr[] = "win";
#elif defined(OS_FREEBSD)
const Client kClient = Client::CHROME_FREEBSD;
const char kClientStr[] = "freebsd";
#elif defined(OS_OPENBSD)
const Client kClient = Client::CHROME_OPENBSD;
const char kClientStr[] = "openbsd";
#elif defined(OS_SOLARIS)
const Client kClient = Client::CHROME_SOLARIS;
const char kClientStr[] = "solaris";
#elif defined(OS_QNX)
const Client kClient = Client::CHROME_QNX;
const char kClientStr[] = "qnx";
#else
const Client kClient = Client::UNKNOWN;
const char kClientStr[] = "";
#endif
const std::string kExpectedHeader2 =
std::string("ps=0-1633771873-1633771873-1633771873, ") +
std::string("sid=c911fdb402f578787562cf7f00eda972, b=2, p=3, c=") +
kClientStr;
const std::string kExpectedHeader3 =
std::string("ps=86401-1633771873-1633771873-1633771873, ") +
std::string("sid=d7c1c34ef6b90303b01c48a6c1db6419, b=2, p=3, c=") +
kClientStr;
const std::string kExpectedHeader4 =
std::string("ps=0-1633771873-1633771873-1633771873, ") +
std::string("sid=c911fdb402f578787562cf7f00eda972, c=") +
kClientStr;
class TestDataReductionProxyAuthRequestHandler class TestDataReductionProxyAuthRequestHandler
: public DataReductionProxyAuthRequestHandler { : public DataReductionProxyAuthRequestHandler {
public: public:
TestDataReductionProxyAuthRequestHandler( TestDataReductionProxyAuthRequestHandler(
const std::string& client, Client client,
const std::string& version, const std::string& version,
DataReductionProxyParams* params, DataReductionProxyParams* params,
base::MessageLoopProxy* loop_proxy) base::MessageLoopProxy* loop_proxy)
...@@ -143,7 +152,7 @@ TEST_F(DataReductionProxyAuthRequestHandlerTest, Authorization) { ...@@ -143,7 +152,7 @@ TEST_F(DataReductionProxyAuthRequestHandlerTest, Authorization) {
loop_proxy_); loop_proxy_);
auth_handler.Init(); auth_handler.Init();
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
EXPECT_EQ(auth_handler.client_, kClient); EXPECT_EQ(auth_handler.client_, kClientStr);
EXPECT_EQ(kExpectedBuild, auth_handler.build_number_); EXPECT_EQ(kExpectedBuild, auth_handler.build_number_);
EXPECT_EQ(kExpectedPatch, auth_handler.patch_number_); EXPECT_EQ(kExpectedPatch, auth_handler.patch_number_);
EXPECT_EQ(auth_handler.key_, kTestKey); EXPECT_EQ(auth_handler.key_, kTestKey);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment