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

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: Disable test for chrome_frame_net_tests Created 8 years, 1 month 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
« no previous file with comments | « net/url_request/url_request_http_job.h ('k') | net/url_request/url_request_test_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 c65c33acf55ac32ca1daa59c1890fdb60b080b21..c011b4361e8b47be6c60d274e871b89f988637ed 100644
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -39,6 +39,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"
@@ -211,12 +212,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),
@@ -248,7 +253,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());
@@ -471,18 +477,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);
+ }
}
}
@@ -921,7 +931,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();
« no previous file with comments | « net/url_request/url_request_http_job.h ('k') | net/url_request/url_request_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698