summaryrefslogtreecommitdiffstats
path: root/chrome/common/file_system
diff options
context:
space:
mode:
authorericu@google.com <ericu@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-07 20:49:59 +0000
committerericu@google.com <ericu@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-07 20:49:59 +0000
commit74b3dc7a7ea8ff8c2a87d54eb3362afea597165a (patch)
tree20b5713585d131d42537800535fee30cec513f6e /chrome/common/file_system
parent39f1166de3823e6b4e7164838b958e2028d6c1ec (diff)
downloadchromium_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.cc66
-rw-r--r--chrome/common/file_system/webfilewriter_impl.h28
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_
+