diff options
| author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-30 00:35:34 +0000 |
|---|---|---|
| committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-30 00:35:34 +0000 |
| commit | 6dae6b829224e15c895d508fc2fc8c6b43c37dab (patch) | |
| tree | 5cd91d3f6586c760d4eb7b7715f6a4a3ca8e23ee /net | |
| parent | 9ad913a5cca7fa2c434ea0134be9a3f5c005e2d1 (diff) | |
| download | chromium_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.cc | 8 | ||||
| -rw-r--r-- | net/url_request/url_request_http_job.cc | 16 | ||||
| -rw-r--r-- | net/url_request/url_request_unittest.cc | 40 |
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. |
