Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Unified Diff: net/url_request/url_request_http_job.cc

Issue 10918279: Provide mutable members of UrlRequestContext via pure-virtual interface (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add TODO Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698