diff options
author | pinkerton@google.com <pinkerton@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-10 19:07:49 +0000 |
---|---|---|
committer | pinkerton@google.com <pinkerton@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-10 19:07:49 +0000 |
commit | a10cc906886dfd4f68d9ebcdf1611e973354c90b (patch) | |
tree | d99eba758a2ffe3692d8a2f8de205ca465b3f11c /net/url_request | |
parent | 5fa5f68d0674a1029658f7eef6317ccda370492a (diff) | |
download | chromium_src-a10cc906886dfd4f68d9ebcdf1611e973354c90b.zip chromium_src-a10cc906886dfd4f68d9ebcdf1611e973354c90b.tar.gz chromium_src-a10cc906886dfd4f68d9ebcdf1611e973354c90b.tar.bz2 |
add file:// handling to mac and linux builds
Review URL: http://codereview.chromium.org/7230
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3232 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
-rw-r--r-- | net/url_request/url_request_file_job.cc | 20 | ||||
-rw-r--r-- | net/url_request/url_request_job_manager.cc | 4 |
2 files changed, 15 insertions, 9 deletions
diff --git a/net/url_request/url_request_file_job.cc b/net/url_request/url_request_file_job.cc index 6139827..de3e6fa 100644 --- a/net/url_request/url_request_file_job.cc +++ b/net/url_request/url_request_file_job.cc @@ -28,7 +28,9 @@ #include "net/base/net_errors.h" #include "net/base/net_util.h" #include "net/url_request/url_request.h" +#if defined(OS_WIN) #include "net/url_request/url_request_file_dir_job.h" +#endif #if defined(OS_WIN) class URLRequestFileJob::AsyncResolver : @@ -74,8 +76,10 @@ URLRequestJob* URLRequestFileJob::Factory( std::wstring file_path; if (net::FileURLToFilePath(request->url(), &file_path)) { if (file_path[file_path.size() - 1] == file_util::kPathSeparator) { +#if defined(OS_WIN) // Only directories have trailing slashes. return new URLRequestFileDirJob(request, file_path); +#endif } } @@ -100,20 +104,22 @@ URLRequestFileJob::~URLRequestFileJob() { } void URLRequestFileJob::Start() { +#if defined(OS_WIN) // Resolve UNC paths on a background thread. if (!file_path_.compare(0, 2, L"\\\\")) { DCHECK(!async_resolver_); async_resolver_ = new AsyncResolver(this); WorkerPool::PostTask(FROM_HERE, NewRunnableMethod( async_resolver_.get(), &AsyncResolver::Resolve, file_path_), true); - } else { - file_util::FileInfo file_info; - bool exists = file_util::GetFileInfo(file_path_, &file_info); - - // Continue asynchronously. - MessageLoop::current()->PostTask(FROM_HERE, NewRunnableMethod( - this, &URLRequestFileJob::DidResolve, exists, file_info)); + return; } +#endif + file_util::FileInfo file_info; + bool exists = file_util::GetFileInfo(file_path_, &file_info); + + // Continue asynchronously. + MessageLoop::current()->PostTask(FROM_HERE, NewRunnableMethod( + this, &URLRequestFileJob::DidResolve, exists, file_info)); } void URLRequestFileJob::Kill() { diff --git a/net/url_request/url_request_job_manager.cc b/net/url_request/url_request_job_manager.cc index e4c44e9..3dd7929 100644 --- a/net/url_request/url_request_job_manager.cc +++ b/net/url_request/url_request_job_manager.cc @@ -11,8 +11,8 @@ #include "net/base/load_flags.h" #include "net/url_request/url_request_about_job.h" #include "net/url_request/url_request_error_job.h" -#if defined(OS_WIN) #include "net/url_request/url_request_file_job.h" +#if defined(OS_WIN) #include "net/url_request/url_request_ftp_job.h" #else // TODO(playmobil): Implement on non-windows platforms. @@ -33,8 +33,8 @@ struct SchemeToFactory { static const SchemeToFactory kBuiltinFactories[] = { { "http", URLRequestHttpJob::Factory }, { "https", URLRequestHttpJob::Factory }, -#if defined(OS_WIN) { "file", URLRequestFileJob::Factory }, +#if defined(OS_WIN) { "ftp", URLRequestFtpJob::Factory }, #else // TODO(playmobil): Implement on non-windows platforms. |