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 aca1b484d93cd7a914019d9d4d3a53310f463f55..3f8c0ad5d16876ebff7301095306b41d0b68a5e1 100644 |
--- a/net/url_request/url_request_ftp_job.cc |
+++ b/net/url_request/url_request_ftp_job.cc |
@@ -19,10 +19,18 @@ |
namespace net { |
-URLRequestFtpJob::URLRequestFtpJob(URLRequest* request) |
+URLRequestFtpJob::URLRequestFtpJob( |
+ URLRequest* request, |
+ NetworkDelegate* network_delegate, |
+ FtpTransactionFactory* ftp_transaction_factory, |
+ FtpAuthCache* ftp_auth_cache) |
: URLRequestJob(request, request->context()->network_delegate()), |
mmenke
2012/06/26 18:36:10
Second argument should now be network_delegate.
shalev
2012/06/26 19:05:01
Done.
|
read_in_progress_(false), |
- ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { |
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), |
+ ftp_transaction_factory_(ftp_transaction_factory), |
+ ftp_auth_cache_(ftp_auth_cache) { |
+ DCHECK(ftp_transaction_factory); |
+ DCHECK(ftp_auth_cache); |
} |
// static |
@@ -35,9 +43,13 @@ URLRequestJob* URLRequestFtpJob::Factory(URLRequest* request, |
!IsPortAllowedByFtp(port) && !IsPortAllowedByOverride(port)) |
return new URLRequestErrorJob(request, ERR_UNSAFE_PORT); |
mmenke
2012/06/26 18:36:10
While you're here, could you fix the formatting of
shalev
2012/06/26 19:05:01
Done.
|
- DCHECK(request->context()); |
DCHECK(request->context()->ftp_transaction_factory()); |
- return new URLRequestFtpJob(request); |
+ DCHECK(request->context()->ftp_auth_cache()); |
mmenke
2012/06/26 18:36:10
These two DCHECKs are now in URLRequestFtpJob's co
shalev
2012/06/26 19:05:01
Done.
|
+ |
+ return new URLRequestFtpJob(request, |
+ request->context()->network_delegate(), |
+ request->context()->ftp_transaction_factory(), |
+ request->context()->ftp_auth_cache()); |
} |
bool URLRequestFtpJob::GetMimeType(std::string* mime_type) const { |
@@ -61,11 +73,8 @@ URLRequestFtpJob::~URLRequestFtpJob() { |
void URLRequestFtpJob::StartTransaction() { |
// Create a transaction. |
DCHECK(!transaction_.get()); |
- DCHECK(request_->context()); |
- DCHECK(request_->context()->ftp_transaction_factory()); |
- transaction_.reset( |
- request_->context()->ftp_transaction_factory()->CreateTransaction()); |
+ transaction_.reset(ftp_transaction_factory_->CreateTransaction()); |
// No matter what, we want to report our status as IO pending since we will |
// be notifying our consumer asynchronously via OnStartCompleted. |
@@ -104,16 +113,14 @@ void URLRequestFtpJob::OnStartCompleted(int result) { |
} else if (transaction_->GetResponseInfo()->needs_auth) { |
GURL origin = request_->url().GetOrigin(); |
if (server_auth_ && server_auth_->state == AUTH_STATE_HAVE_AUTH) { |
- request_->context()->ftp_auth_cache()->Remove( |
- origin, server_auth_->credentials); |
+ ftp_auth_cache_->Remove(origin, server_auth_->credentials); |
} else if (!server_auth_) { |
server_auth_ = new AuthData(); |
} |
server_auth_->state = AUTH_STATE_NEED_AUTH; |
FtpAuthCache::Entry* cached_auth = |
- request_->context()->ftp_auth_cache()->Lookup(origin); |
- |
+ ftp_auth_cache_->Lookup(origin); |
mmenke
2012/06/26 18:36:10
nit: Think this will fit on one line.
shalev
2012/06/26 19:05:01
Done.
|
if (cached_auth) { |
// Retry using cached auth data. |
SetAuth(cached_auth->credentials); |
@@ -204,8 +211,8 @@ void URLRequestFtpJob::SetAuth(const AuthCredentials& credentials) { |
server_auth_->state = AUTH_STATE_HAVE_AUTH; |
server_auth_->credentials = credentials; |
- request_->context()->ftp_auth_cache()->Add(request_->url().GetOrigin(), |
- server_auth_->credentials); |
+ ftp_auth_cache_->Add(request_->url().GetOrigin(), |
+ server_auth_->credentials); |
mmenke
2012/06/26 18:36:10
nit: Think this will just barely fit on one line
shalev
2012/06/26 19:05:01
Done.
|
RestartTransactionWithAuth(); |
} |