summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-30 00:35:34 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-30 00:35:34 +0000
commit6dae6b829224e15c895d508fc2fc8c6b43c37dab (patch)
tree5cd91d3f6586c760d4eb7b7715f6a4a3ca8e23ee /net
parent9ad913a5cca7fa2c434ea0134be9a3f5c005e2d1 (diff)
downloadchromium_src-6dae6b829224e15c895d508fc2fc8c6b43c37dab.zip
chromium_src-6dae6b829224e15c895d508fc2fc8c6b43c37dab.tar.gz
chromium_src-6dae6b829224e15c895d508fc2fc8c6b43c37dab.tar.bz2
Do not send empty Accept-Language / Accept-Charset headers.
BUG=77365 TEST=Start Chrome, check that the GoogleURLTracker request headers do not include Accept-Language/Accept-Charset. Review URL: http://codereview.chromium.org/6731070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79771 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/spdy/spdy_network_transaction_unittest.cc8
-rw-r--r--net/url_request/url_request_http_job.cc16
-rw-r--r--net/url_request/url_request_unittest.cc40
3 files changed, 46 insertions, 18 deletions
diff --git a/net/spdy/spdy_network_transaction_unittest.cc b/net/spdy/spdy_network_transaction_unittest.cc
index 9f4e1fe..f0c26f3 100644
--- a/net/spdy/spdy_network_transaction_unittest.cc
+++ b/net/spdy/spdy_network_transaction_unittest.cc
@@ -2438,12 +2438,8 @@ TEST_P(SpdyNetworkTransactionTest, DeleteSessionOnReadCallback) {
TEST_P(SpdyNetworkTransactionTest, RedirectGetRequest) {
// These are headers which the net::URLRequest tacks on.
const char* const kExtraHeaders[] = {
- "accept-charset",
- "",
"accept-encoding",
"gzip,deflate",
- "accept-language",
- "",
};
const SpdyHeaderInfo kSynStartHeader = make_spdy_header(spdy::SYN_STREAM);
const char* const kStandardGetHeaders[] = {
@@ -2548,12 +2544,8 @@ TEST_P(SpdyNetworkTransactionTest, RedirectGetRequest) {
TEST_P(SpdyNetworkTransactionTest, RedirectServerPush) {
// These are headers which the net::URLRequest tacks on.
const char* const kExtraHeaders[] = {
- "accept-charset",
- "",
"accept-encoding",
"gzip,deflate",
- "accept-language",
- "",
};
const SpdyHeaderInfo kSynStartHeader = make_spdy_header(spdy::SYN_STREAM);
const char* const kStandardGetHeaders[] = {
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
index 721f582..1a3e28e 100644
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -400,12 +400,16 @@ void URLRequestHttpJob::AddExtraHeaders() {
if (context) {
// Only add default Accept-Language and Accept-Charset if the request
// didn't have them specified.
- request_info_.extra_headers.SetHeaderIfMissing(
- HttpRequestHeaders::kAcceptLanguage,
- context->accept_language());
- request_info_.extra_headers.SetHeaderIfMissing(
- HttpRequestHeaders::kAcceptCharset,
- context->accept_charset());
+ if (!context->accept_language().empty()) {
+ request_info_.extra_headers.SetHeaderIfMissing(
+ HttpRequestHeaders::kAcceptLanguage,
+ context->accept_language());
+ }
+ if (!context->accept_charset().empty()) {
+ request_info_.extra_headers.SetHeaderIfMissing(
+ HttpRequestHeaders::kAcceptCharset,
+ context->accept_charset());
+ }
}
}
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index e3cf631..4f454d0 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -2753,10 +2753,26 @@ TEST_F(URLRequestTestHTTP, DefaultAcceptLanguage) {
TestDelegate d;
TestURLRequest req(test_server_.GetURL("echoheader?Accept-Language"), &d);
- req.set_context(new TestURLRequestContext());
+ scoped_refptr<URLRequestContext> context = new TestURLRequestContext;
+ context->set_accept_language("en");
+ req.set_context(context);
+ req.Start();
+ MessageLoop::current()->Run();
+ EXPECT_EQ("en", d.data_received());
+}
+
+// Check that an empty A-L header is not sent. http://crbug.com/77365.
+TEST_F(URLRequestTestHTTP, EmptyAcceptLanguage) {
+ ASSERT_TRUE(test_server_.Start());
+
+ TestDelegate d;
+ TestURLRequest req(test_server_.GetURL("echoheader?Accept-Language"), &d);
+ scoped_refptr<URLRequestContext> context = new TestURLRequestContext;
+ context->set_accept_language("");
+ req.set_context(context);
req.Start();
MessageLoop::current()->Run();
- EXPECT_EQ(req.context()->accept_language(), d.data_received());
+ EXPECT_EQ("None", d.data_received());
}
// Check that if request overrides the A-L header, the default is not appended.
@@ -2782,10 +2798,26 @@ TEST_F(URLRequestTestHTTP, DefaultAcceptCharset) {
TestDelegate d;
TestURLRequest req(test_server_.GetURL("echoheader?Accept-Charset"), &d);
- req.set_context(new TestURLRequestContext());
+ scoped_refptr<URLRequestContext> context = new TestURLRequestContext;
+ context->set_accept_charset("en");
+ req.set_context(context);
+ req.Start();
+ MessageLoop::current()->Run();
+ EXPECT_EQ("en", d.data_received());
+}
+
+// Check that an empty A-C header is not sent. http://crbug.com/77365.
+TEST_F(URLRequestTestHTTP, EmptyAcceptCharset) {
+ ASSERT_TRUE(test_server_.Start());
+
+ TestDelegate d;
+ TestURLRequest req(test_server_.GetURL("echoheader?Accept-Charset"), &d);
+ scoped_refptr<URLRequestContext> context = new TestURLRequestContext;
+ context->set_accept_charset("");
+ req.set_context(context);
req.Start();
MessageLoop::current()->Run();
- EXPECT_EQ(req.context()->accept_charset(), d.data_received());
+ EXPECT_EQ("None", d.data_received());
}
// Check that if request overrides the A-C header, the default is not appended.