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

Unified Diff: webkit/fileapi/file_system_dir_url_request_job.cc

Issue 14895013: Move webkit/fileapi/file_system_mount_point_provider.h to webkit/browser/fileapi (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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
Index: webkit/fileapi/file_system_dir_url_request_job.cc
diff --git a/webkit/fileapi/file_system_dir_url_request_job.cc b/webkit/fileapi/file_system_dir_url_request_job.cc
deleted file mode 100644
index eaafb7a562b9d27cc1840ece701ccc731e3be4d1..0000000000000000000000000000000000000000
--- a/webkit/fileapi/file_system_dir_url_request_job.cc
+++ /dev/null
@@ -1,151 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "webkit/fileapi/file_system_dir_url_request_job.h"
-
-#include <algorithm>
-
-#include "base/bind.h"
-#include "base/compiler_specific.h"
-#include "base/files/file_util_proxy.h"
-#include "base/message_loop.h"
-#include "base/platform_file.h"
-#include "base/strings/sys_string_conversions.h"
-#include "base/time.h"
-#include "base/utf_string_conversions.h"
-#include "build/build_config.h"
-#include "googleurl/src/gurl.h"
-#include "net/base/io_buffer.h"
-#include "net/base/net_errors.h"
-#include "net/base/net_util.h"
-#include "net/url_request/url_request.h"
-#include "webkit/fileapi/file_system_context.h"
-#include "webkit/fileapi/file_system_operation.h"
-#include "webkit/fileapi/file_system_url.h"
-
-using net::NetworkDelegate;
-using net::URLRequest;
-using net::URLRequestJob;
-using net::URLRequestStatus;
-
-namespace fileapi {
-
-FileSystemDirURLRequestJob::FileSystemDirURLRequestJob(
- URLRequest* request,
- NetworkDelegate* network_delegate,
- FileSystemContext* file_system_context)
- : URLRequestJob(request, network_delegate),
- file_system_context_(file_system_context),
- weak_factory_(this) {
-}
-
-FileSystemDirURLRequestJob::~FileSystemDirURLRequestJob() {
-}
-
-bool FileSystemDirURLRequestJob::ReadRawData(net::IOBuffer* dest, int dest_size,
- int *bytes_read) {
- int count = std::min(dest_size, static_cast<int>(data_.size()));
- if (count > 0) {
- memcpy(dest->data(), data_.data(), count);
- data_.erase(0, count);
- }
- *bytes_read = count;
- return true;
-}
-
-void FileSystemDirURLRequestJob::Start() {
- base::MessageLoop::current()->PostTask(
- FROM_HERE,
- base::Bind(&FileSystemDirURLRequestJob::StartAsync,
- weak_factory_.GetWeakPtr()));
-}
-
-void FileSystemDirURLRequestJob::Kill() {
- URLRequestJob::Kill();
- weak_factory_.InvalidateWeakPtrs();
-}
-
-bool FileSystemDirURLRequestJob::GetMimeType(std::string* mime_type) const {
- *mime_type = "text/html";
- return true;
-}
-
-bool FileSystemDirURLRequestJob::GetCharset(std::string* charset) {
- *charset = "utf-8";
- return true;
-}
-
-void FileSystemDirURLRequestJob::StartAsync() {
- if (!request_)
- return;
- url_ = file_system_context_->CrackURL(request_->url());
- base::PlatformFileError error_code;
- FileSystemOperation* operation = GetNewOperation(&error_code);
- if (error_code != base::PLATFORM_FILE_OK) {
- NotifyDone(URLRequestStatus(URLRequestStatus::FAILED,
- net::PlatformFileErrorToNetError(error_code)));
- return;
- }
- operation->ReadDirectory(
- url_,
- base::Bind(&FileSystemDirURLRequestJob::DidReadDirectory, this));
-}
-
-void FileSystemDirURLRequestJob::DidReadDirectory(
- base::PlatformFileError result,
- const std::vector<base::FileUtilProxy::Entry>& entries,
- bool has_more) {
- if (result != base::PLATFORM_FILE_OK) {
- int rv = net::ERR_FILE_NOT_FOUND;
- if (result == base::PLATFORM_FILE_ERROR_INVALID_URL)
- rv = net::ERR_INVALID_URL;
- NotifyDone(URLRequestStatus(URLRequestStatus::FAILED, rv));
- return;
- }
-
- if (!request_)
- return;
-
- if (data_.empty()) {
- base::FilePath relative_path = url_.path();
-#if defined(OS_POSIX)
- relative_path = base::FilePath(FILE_PATH_LITERAL("/") + relative_path.value());
-#endif
- const base::string16& title = relative_path.LossyDisplayName();
- data_.append(net::GetDirectoryListingHeader(title));
- }
-
- typedef std::vector<base::FileUtilProxy::Entry>::const_iterator EntryIterator;
- for (EntryIterator it = entries.begin(); it != entries.end(); ++it) {
- const base::string16& name = base::FilePath(it->name).LossyDisplayName();
- data_.append(net::GetDirectoryListingEntry(
- name, std::string(), it->is_directory, it->size,
- it->last_modified_time));
- }
-
- if (has_more) {
- base::PlatformFileError error_code;
- FileSystemOperation* operation = GetNewOperation(&error_code);
- if (error_code != base::PLATFORM_FILE_OK) {
- NotifyDone(URLRequestStatus(
- URLRequestStatus::FAILED,
- net::PlatformFileErrorToNetError(error_code)));
- return;
- }
-
- operation->ReadDirectory(
- url_,
- base::Bind(&FileSystemDirURLRequestJob::DidReadDirectory, this));
- } else {
- set_expected_content_size(data_.size());
- NotifyHeadersComplete();
- }
-}
-
-FileSystemOperation* FileSystemDirURLRequestJob::GetNewOperation(
- base::PlatformFileError* error_code) {
- return file_system_context_->CreateFileSystemOperation(url_, error_code);
-}
-
-} // namespace fileapi

Powered by Google App Engine
This is Rietveld 408576698