Index: net/url_request/url_request_file_job.cc |
=================================================================== |
--- net/url_request/url_request_file_job.cc (revision 5946) |
+++ net/url_request/url_request_file_job.cc (working copy) |
@@ -72,12 +72,9 @@ |
URLRequestJob* URLRequestFileJob::Factory( |
URLRequest* request, const std::string& scheme) { |
FilePath file_path; |
- if (net::FileURLToFilePath(request->url(), &file_path)) { |
- if (file_util::DirectoryExists(file_path)) { |
- // Only directories have trailing slashes. |
+ if (net::FileURLToFilePath(request->url(), &file_path) && |
+ file_util::EnsureEndsWithSeparator(&file_path)) |
return new URLRequestFileDirJob(request, file_path); |
- } |
- } |
// Use a regular file request job for all non-directories (including invalid |
// file names). |
@@ -167,13 +164,13 @@ |
if (!request_) |
return; |
- is_directory_ = file_info.is_directory; |
+ DCHECK(!file_info.is_directory); |
int rv = net::OK; |
if (!exists) { |
rv = net::ERR_FILE_NOT_FOUND; |
- } else if (!is_directory_) { |
- int flags = base::PLATFORM_FILE_OPEN | |
+ } else { |
+ int flags = base::PLATFORM_FILE_OPEN | |
base::PLATFORM_FILE_READ | |
base::PLATFORM_FILE_ASYNC; |
rv = stream_.Open(file_path_.ToWStringHack(), flags); |
@@ -200,19 +197,6 @@ |
bool URLRequestFileJob::IsRedirectResponse( |
GURL* location, int* http_status_code) { |
- if (is_directory_) { |
- // This happens when we discovered the file is a directory, so needs a |
- // slash at the end of the path. |
- std::string new_path = request_->url().path(); |
- new_path.push_back('/'); |
- GURL::Replacements replacements; |
- replacements.SetPathStr(new_path); |
- |
- *location = request_->url().ReplaceComponents(replacements); |
- *http_status_code = 301; // simulate a permanent redirect |
- return true; |
- } |
- |
#if defined(OS_WIN) |
std::wstring extension = |
file_util::GetFileExtensionFromPath(file_path_.value()); |