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

Unified Diff: net/url_request/url_request_ftp_job.cc

Issue 12701011: [Net] Propagate priority changes from URLRequest to HttpTransaction (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix leaks Created 7 years, 9 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
« no previous file with comments | « net/url_request/url_request_ftp_job.h ('k') | net/url_request/url_request_ftp_job_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/url_request/url_request_ftp_job.cc
diff --git a/net/url_request/url_request_ftp_job.cc b/net/url_request/url_request_ftp_job.cc
index ebb540d44d6b505676df9384fc104406e80edbfc..cc3e3f88714d1061303871ac10b56fc18ecbd014 100644
--- a/net/url_request/url_request_ftp_job.cc
+++ b/net/url_request/url_request_ftp_job.cc
@@ -28,6 +28,7 @@ URLRequestFtpJob::URLRequestFtpJob(
FtpTransactionFactory* ftp_transaction_factory,
FtpAuthCache* ftp_auth_cache)
: URLRequestJob(request, network_delegate),
+ priority_(DEFAULT_PRIORITY),
pac_request_(NULL),
response_info_(NULL),
read_in_progress_(false),
@@ -38,6 +39,11 @@ URLRequestFtpJob::URLRequestFtpJob(
DCHECK(ftp_auth_cache);
}
+URLRequestFtpJob::~URLRequestFtpJob() {
+ if (pac_request_)
+ request_->context()->proxy_service()->CancelPacRequest(pac_request_);
+}
+
// static
URLRequestJob* URLRequestFtpJob::Factory(URLRequest* request,
NetworkDelegate* network_delegate,
@@ -95,9 +101,42 @@ HostPortPair URLRequestFtpJob::GetSocketAddress() const {
}
}
-URLRequestFtpJob::~URLRequestFtpJob() {
- if (pac_request_)
- request_->context()->proxy_service()->CancelPacRequest(pac_request_);
+void URLRequestFtpJob::SetPriority(RequestPriority priority) {
+ priority_ = priority;
+ if (http_transaction_)
+ http_transaction_->SetPriority(priority);
+}
+
+void URLRequestFtpJob::Start() {
+ DCHECK(!pac_request_);
+ DCHECK(!ftp_transaction_);
+ DCHECK(!http_transaction_);
+
+ int rv = OK;
+ if (request_->load_flags() & LOAD_BYPASS_PROXY) {
+ proxy_info_.UseDirect();
+ } else {
+ rv = request_->context()->proxy_service()->ResolveProxy(
+ request_->url(),
+ &proxy_info_,
+ base::Bind(&URLRequestFtpJob::OnResolveProxyComplete,
+ base::Unretained(this)),
+ &pac_request_,
+ request_->net_log());
+
+ if (rv == ERR_IO_PENDING)
+ return;
+ }
+ OnResolveProxyComplete(rv);
+}
+
+void URLRequestFtpJob::Kill() {
+ if (ftp_transaction_)
+ ftp_transaction_.reset();
+ if (http_transaction_)
+ http_transaction_.reset();
+ URLRequestJob::Kill();
+ weak_factory_.InvalidateWeakPtrs();
}
void URLRequestFtpJob::OnResolveProxyComplete(int result) {
@@ -168,7 +207,7 @@ void URLRequestFtpJob::StartHttpTransaction() {
http_request_info_.request_id = request_->identifier();
int rv = request_->context()->http_transaction_factory()->CreateTransaction(
- request_->priority(), &http_transaction_, NULL);
+ priority_, &http_transaction_, NULL);
if (rv == OK) {
rv = http_transaction_->Start(
&http_request_info_,
@@ -260,38 +299,6 @@ void URLRequestFtpJob::RestartTransactionWithAuth() {
OnStartCompletedAsync(rv);
}
-void URLRequestFtpJob::Start() {
- DCHECK(!pac_request_);
- DCHECK(!ftp_transaction_);
- DCHECK(!http_transaction_);
-
- int rv = OK;
- if (request_->load_flags() & LOAD_BYPASS_PROXY) {
- proxy_info_.UseDirect();
- } else {
- rv = request_->context()->proxy_service()->ResolveProxy(
- request_->url(),
- &proxy_info_,
- base::Bind(&URLRequestFtpJob::OnResolveProxyComplete,
- base::Unretained(this)),
- &pac_request_,
- request_->net_log());
-
- if (rv == ERR_IO_PENDING)
- return;
- }
- OnResolveProxyComplete(rv);
-}
-
-void URLRequestFtpJob::Kill() {
- if (ftp_transaction_)
- ftp_transaction_.reset();
- if (http_transaction_)
- http_transaction_.reset();
- URLRequestJob::Kill();
- weak_factory_.InvalidateWeakPtrs();
-}
-
LoadState URLRequestFtpJob::GetLoadState() const {
if (proxy_info_.is_direct()) {
return ftp_transaction_ ?
« no previous file with comments | « net/url_request/url_request_ftp_job.h ('k') | net/url_request/url_request_ftp_job_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698