summaryrefslogtreecommitdiffstats
path: root/net/url_request/url_request_ftp_job.cc
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-16 20:13:33 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-16 20:13:33 +0000
commitb65ce0948709317aadc38e18c1a16f23a72bb5eb (patch)
treef4f9f816e60a18afb214dbd0d1a5ea8108ad3863 /net/url_request/url_request_ftp_job.cc
parent0f9d542be7a415150b3002e3a0c642f9f2e252a4 (diff)
downloadchromium_src-b65ce0948709317aadc38e18c1a16f23a72bb5eb.zip
chromium_src-b65ce0948709317aadc38e18c1a16f23a72bb5eb.tar.gz
chromium_src-b65ce0948709317aadc38e18c1a16f23a72bb5eb.tar.bz2
Add command line switch "--new-ftp" for new portable FTP
implementation. Add the (empty) URLRequestNewFtpJob class. Contributed by Ibrar Ahmed <ibrar.ahmad@gmail.com>. BUG=4965 R=darin,wtc Review URL: http://codereview.chromium.org/42197 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11768 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request/url_request_ftp_job.cc')
-rw-r--r--net/url_request/url_request_ftp_job.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/url_request/url_request_ftp_job.cc b/net/url_request/url_request_ftp_job.cc
index 86e7bdf..00a62ac 100644
--- a/net/url_request/url_request_ftp_job.cc
+++ b/net/url_request/url_request_ftp_job.cc
@@ -11,13 +11,14 @@
#include "base/string_util.h"
#include "base/time.h"
#include "net/base/auth.h"
+#include "net/base/escape.h"
#include "net/base/load_flags.h"
#include "net/base/net_util.h"
#include "net/base/wininet_util.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"
-#include "net/base/escape.h"
+#include "net/url_request/url_request_new_ftp_job.h"
using std::string;
@@ -53,6 +54,10 @@ static bool UnescapeAndValidatePath(const URLRequest* request,
// static
URLRequestJob* URLRequestFtpJob::Factory(URLRequest* request,
const std::string &scheme) {
+ // Checking whether we are using new or old FTP implementation.
+ if (request->context() && request->context()->ftp_transaction_factory())
+ return URLRequestNewFtpJob::Factory(request, scheme);
+
DCHECK(scheme == "ftp");
if (request->url().has_port() &&