Chromium Code Reviews| Index: net/url_request/url_request_http_job.cc |
| diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc |
| index 6068fa5e96cbd7055ff37271abecbcc756cf8cc8..c8a384a567e53811c1643425cbf2d894e0dfbd6f 100644 |
| --- a/net/url_request/url_request_http_job.cc |
| +++ b/net/url_request/url_request_http_job.cc |
| @@ -38,6 +38,7 @@ |
| #include "net/http/http_transaction_factory.h" |
| #include "net/http/http_util.h" |
| #include "net/url_request/fraudulent_certificate_reporter.h" |
| +#include "net/url_request/http_user_agent_settings.h" |
| #include "net/url_request/url_request.h" |
| #include "net/url_request/url_request_context.h" |
| #include "net/url_request/url_request_error_job.h" |
| @@ -210,12 +211,16 @@ URLRequestJob* URLRequestHttpJob::Factory(URLRequest* request, |
| GURL redirect_url; |
| if (request->GetHSTSRedirect(&redirect_url)) |
| return new URLRequestRedirectJob(request, network_delegate, redirect_url); |
| - return new URLRequestHttpJob(request, network_delegate); |
| + return new URLRequestHttpJob(request, |
| + network_delegate, |
| + request->context()->http_user_agent_settings()); |
| } |
| URLRequestHttpJob::URLRequestHttpJob(URLRequest* request, |
| - NetworkDelegate* network_delegate) |
| + NetworkDelegate* network_delegate, |
| + HttpUserAgentSettings* |
| + http_user_agent_settings) |
|
willchan no longer on Chromium
2012/10/24 03:40:10
we don't format like this, move all the other para
|
| : URLRequestJob(request, network_delegate), |
| response_info_(NULL), |
| response_cookies_save_index_(0), |
| @@ -247,7 +252,8 @@ URLRequestHttpJob::URLRequestHttpJob(URLRequest* request, |
| base::Bind(&URLRequestHttpJob::OnHeadersReceivedCallback, |
| base::Unretained(this)))), |
| awaiting_callback_(false), |
| - http_transaction_delegate_(new HttpTransactionDelegateImpl(request)) { |
| + http_transaction_delegate_(new HttpTransactionDelegateImpl(request)), |
| + http_user_agent_settings_(http_user_agent_settings) { |
|
willchan no longer on Chromium
2012/10/24 03:40:10
Should we DCHECK() that it's non-NULL?
|
| URLRequestThrottlerManager* manager = request->context()->throttler_manager(); |
| if (manager) |
| throttling_entry_ = manager->RegisterRequestUrl(request->url()); |
| @@ -470,18 +476,19 @@ void URLRequestHttpJob::AddExtraHeaders() { |
| } |
| } |
| - const URLRequestContext* context = request_->context(); |
| // Only add default Accept-Language and Accept-Charset if the request |
| // didn't have them specified. |
| - if (!context->accept_language().empty()) { |
| + std::string accept_language = http_user_agent_settings_->GetAcceptLanguage(); |
|
erikwright (departed)
2012/10/24 13:14:33
It seems from the unit test that the settings obje
|
| + if (!accept_language.empty()) { |
| request_info_.extra_headers.SetHeaderIfMissing( |
| HttpRequestHeaders::kAcceptLanguage, |
| - context->accept_language()); |
| + accept_language); |
| } |
| - if (!context->accept_charset().empty()) { |
| + std::string accept_charset = http_user_agent_settings_->GetAcceptCharset(); |
| + if (!accept_charset.empty()) { |
| request_info_.extra_headers.SetHeaderIfMissing( |
| HttpRequestHeaders::kAcceptCharset, |
| - context->accept_charset()); |
| + accept_charset); |
| } |
| } |
| @@ -907,7 +914,7 @@ void URLRequestHttpJob::Start() { |
| request_info_.extra_headers.SetHeaderIfMissing( |
| HttpRequestHeaders::kUserAgent, |
| - request_->context()->GetUserAgent(request_->url())); |
| + http_user_agent_settings_->GetUserAgent(request_->url())); |
| AddExtraHeaders(); |
| AddCookieHeaderAndStart(); |