diff options
author | ericu@google.com <ericu@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-07 20:49:59 +0000 |
---|---|---|
committer | ericu@google.com <ericu@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-07 20:49:59 +0000 |
commit | 74b3dc7a7ea8ff8c2a87d54eb3362afea597165a (patch) | |
tree | 20b5713585d131d42537800535fee30cec513f6e /chrome/common/file_system | |
parent | 39f1166de3823e6b4e7164838b958e2028d6c1ec (diff) | |
download | chromium_src-74b3dc7a7ea8ff8c2a87d54eb3362afea597165a.zip chromium_src-74b3dc7a7ea8ff8c2a87d54eb3362afea597165a.tar.gz chromium_src-74b3dc7a7ea8ff8c2a87d54eb3362afea597165a.tar.bz2 |
Revert 61833 - Add the actual writing-files part of FileWriter.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3476002
TBR=ericu@google.com
Review URL: http://codereview.chromium.org/3630002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61842 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/file_system')
-rw-r--r-- | chrome/common/file_system/webfilewriter_impl.cc | 66 | ||||
-rw-r--r-- | chrome/common/file_system/webfilewriter_impl.h | 28 |
2 files changed, 33 insertions, 61 deletions
diff --git a/chrome/common/file_system/webfilewriter_impl.cc b/chrome/common/file_system/webfilewriter_impl.cc index 6314c91..f579e25 100644 --- a/chrome/common/file_system/webfilewriter_impl.cc +++ b/chrome/common/file_system/webfilewriter_impl.cc @@ -11,44 +11,6 @@ #include "third_party/WebKit/WebKit/chromium/public/WebURL.h" #include "webkit/glue/webkit_glue.h" -class WebFileWriterImpl::FileSystemCallbackDispatcherImpl : - public fileapi::FileSystemCallbackDispatcher { - public: - explicit FileSystemCallbackDispatcherImpl( - const base::WeakPtr<WebFileWriterImpl>& impl) : m_impl(impl) { - } - virtual ~FileSystemCallbackDispatcherImpl() { - } - - virtual void DidReadMetadata(const base::PlatformFileInfo&) { - NOTREACHED(); - } - virtual void DidReadDirectory( - const std::vector<base::file_util_proxy::Entry>& entries, - bool has_more) { - NOTREACHED(); - } - virtual void DidOpenFileSystem(const std::string& name, - const FilePath& root_path) { - NOTREACHED(); - } - virtual void DidSucceed() { - if (m_impl) - m_impl->DidSucceed(); - } - virtual void DidFail(base::PlatformFileError error_code) { - if (m_impl) - m_impl->DidFail(error_code); - } - virtual void DidWrite(int64 bytes, bool complete) { - if (m_impl) - m_impl->DidWrite(bytes, complete); - } - - private: - base::WeakPtr<WebFileWriterImpl> m_impl; -}; - WebFileWriterImpl::WebFileWriterImpl( const WebKit::WebString& path, WebKit::WebFileWriterClient* client) : path_(webkit_glue::WebStringToFilePath(path)), @@ -68,9 +30,7 @@ void WebFileWriterImpl::truncate( operation_ = kOperationTruncate; FileSystemDispatcher* dispatcher = ChildThread::current()->file_system_dispatcher(); - dispatcher->Truncate( - path_, length, &request_id_, - new FileSystemCallbackDispatcherImpl(AsWeakPtr())); + dispatcher->Truncate(path_, length, &request_id_, this); } void WebFileWriterImpl::write( @@ -81,9 +41,7 @@ void WebFileWriterImpl::write( operation_ = kOperationWrite; FileSystemDispatcher* dispatcher = ChildThread::current()->file_system_dispatcher(); - dispatcher->Write( - path_, blob_url, position, &request_id_, - new FileSystemCallbackDispatcherImpl(AsWeakPtr())); + dispatcher->Write(path_, blob_url, position, &request_id_, this); } // When we cancel a write/truncate, we always get back the result of the write @@ -107,8 +65,15 @@ void WebFileWriterImpl::cancel() { cancel_state_ = kCancelSent; FileSystemDispatcher* dispatcher = ChildThread::current()->file_system_dispatcher(); - dispatcher->Cancel( - request_id_, new FileSystemCallbackDispatcherImpl(AsWeakPtr())); + dispatcher->Cancel(request_id_, this); +} + +void WebFileWriterImpl::FinishCancel() { + DCHECK(kCancelReceivedWriteResponse == cancel_state_); + DCHECK(kOperationNone != operation_); + cancel_state_ = kCancelNotInProgress; + operation_ = kOperationNone; + client_->didFail(WebKit::WebFileErrorAbort); } void WebFileWriterImpl::DidSucceed() { @@ -183,12 +148,3 @@ void WebFileWriterImpl::DidWrite(int64 bytes, bool complete) { NOTREACHED(); } } - -void WebFileWriterImpl::FinishCancel() { - DCHECK(kCancelReceivedWriteResponse == cancel_state_); - DCHECK(kOperationNone != operation_); - cancel_state_ = kCancelNotInProgress; - operation_ = kOperationNone; - client_->didFail(WebKit::WebFileErrorAbort); -} - diff --git a/chrome/common/file_system/webfilewriter_impl.h b/chrome/common/file_system/webfilewriter_impl.h index 6f1c0a7..574440f 100644 --- a/chrome/common/file_system/webfilewriter_impl.h +++ b/chrome/common/file_system/webfilewriter_impl.h @@ -5,8 +5,10 @@ #ifndef CHROME_COMMON_FILE_SYSTEM_WEBFILEWRITER_IMPL_H_ #define CHROME_COMMON_FILE_SYSTEM_WEBFILEWRITER_IMPL_H_ +#include <string> +#include <vector> + #include "base/basictypes.h" -#include "base/weak_ptr.h" #include "chrome/common/file_system/file_system_dispatcher.h" #include "third_party/WebKit/WebKit/chromium/public/WebFileWriter.h" @@ -18,7 +20,7 @@ class WebURL; class WebFileWriterImpl : public WebKit::WebFileWriter, - public base::SupportsWeakPtr<WebFileWriterImpl> { + public fileapi::FileSystemCallbackDispatcher { public: WebFileWriterImpl( const WebKit::WebString& path, WebKit::WebFileWriterClient* client); @@ -29,8 +31,24 @@ class WebFileWriterImpl virtual void write(long long position, const WebKit::WebURL& blobURL); virtual void cancel(); + // FileSystemCallbackDispatcher implementation + virtual void DidReadMetadata(const base::PlatformFileInfo&) { + NOTREACHED(); + } + virtual void DidReadDirectory( + const std::vector<base::file_util_proxy::Entry>& entries, + bool has_more) { + NOTREACHED(); + } + virtual void DidOpenFileSystem(const std::string& name, + const FilePath& root_path) { + NOTREACHED(); + } + virtual void DidSucceed(); + virtual void DidFail(base::PlatformFileError error_code); + virtual void DidWrite(int64 bytes, bool complete); + private: - class FileSystemCallbackDispatcherImpl; enum OperationType { kOperationNone, kOperationWrite, @@ -43,9 +61,6 @@ class WebFileWriterImpl kCancelReceivedWriteResponse, }; - void DidSucceed(); - void DidFail(base::PlatformFileError error_code); - void DidWrite(int64 bytes, bool complete); void FinishCancel(); FilePath path_; @@ -56,3 +71,4 @@ class WebFileWriterImpl }; #endif // CHROME_COMMON_FILE_SYSTEM_WEBFILEWRITER_IMPL_H_ + |