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

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: Address mmenke's comments 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..5cf976e6d0c6cf992e9f7c1e4cca38000871b7da 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)
+URLRequestHttpJob::URLRequestHttpJob(
+ URLRequest* request,
+ NetworkDelegate* network_delegate,
+ const HttpUserAgentSettings* http_user_agent_settings)
: 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) {
URLRequestThrottlerManager* manager = request->context()->throttler_manager();
if (manager)
throttling_entry_ = manager->RegisterRequestUrl(request->url());
@@ -470,18 +476,22 @@ 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()) {
- 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());
+ if (http_user_agent_settings_) {
+ // Only add default Accept-Language and Accept-Charset if the request
+ // didn't have them specified.
+ std::string accept_language =
+ http_user_agent_settings_->GetAcceptLanguage();
+ if (!accept_language.empty()) {
+ request_info_.extra_headers.SetHeaderIfMissing(
+ HttpRequestHeaders::kAcceptLanguage,
+ accept_language);
+ }
+ std::string accept_charset = http_user_agent_settings_->GetAcceptCharset();
+ if (!accept_charset.empty()) {
+ request_info_.extra_headers.SetHeaderIfMissing(
+ HttpRequestHeaders::kAcceptCharset,
+ accept_charset);
+ }
}
}
@@ -907,7 +917,9 @@ void URLRequestHttpJob::Start() {
request_info_.extra_headers.SetHeaderIfMissing(
HttpRequestHeaders::kUserAgent,
- request_->context()->GetUserAgent(request_->url()));
+ http_user_agent_settings_ ?
+ http_user_agent_settings_->GetUserAgent(request_->url()) :
+ EmptyString());
AddExtraHeaders();
AddCookieHeaderAndStart();

Powered by Google App Engine
This is Rietveld 408576698