OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/common/fileapi/webfilewriter_impl.h" | 5 #include "content/common/fileapi/webfilewriter_impl.h" |
6 | 6 |
7 #include "content/common/child_thread.h" | 7 #include "content/common/child_thread.h" |
8 #include "content/common/fileapi/file_system_dispatcher.h" | 8 #include "content/common/fileapi/file_system_dispatcher.h" |
9 | 9 |
10 namespace content { | 10 namespace content { |
11 namespace { | 11 namespace { |
12 | 12 |
13 inline FileSystemDispatcher* GetFileSystemDispatcher() { | 13 inline FileSystemDispatcher* GetFileSystemDispatcher() { |
14 return ChildThread::current()->file_system_dispatcher(); | 14 return ChildThread::current()->file_system_dispatcher(); |
15 } | 15 } |
16 } | 16 } |
17 | 17 |
18 class WebFileWriterImpl::CallbackDispatcher | 18 class WebFileWriterImpl::CallbackDispatcher |
19 : public fileapi::FileSystemCallbackDispatcher { | 19 : public fileapi::FileSystemCallbackDispatcher { |
20 public: | 20 public: |
21 explicit CallbackDispatcher( | 21 explicit CallbackDispatcher( |
22 const base::WeakPtr<WebFileWriterImpl>& writer) : writer_(writer) { | 22 const base::WeakPtr<WebFileWriterImpl>& writer) : writer_(writer) { |
23 } | 23 } |
24 virtual ~CallbackDispatcher() { | 24 virtual ~CallbackDispatcher() { |
25 } | 25 } |
26 | 26 |
27 virtual void DidReadMetadata(const base::PlatformFileInfo&, | 27 virtual void DidReadMetadata(const base::PlatformFileInfo&, |
28 const base::FilePath&) { | 28 const base::FilePath&) OVERRIDE { |
29 NOTREACHED(); | 29 NOTREACHED(); |
30 } | 30 } |
31 virtual void DidReadDirectory( | 31 virtual void DidReadDirectory( |
32 const std::vector<base::FileUtilProxy::Entry>& entries, | 32 const std::vector<base::FileUtilProxy::Entry>& entries, |
33 bool has_more) { | 33 bool has_more) OVERRIDE { |
34 NOTREACHED(); | 34 NOTREACHED(); |
35 } | 35 } |
36 virtual void DidOpenFileSystem(const std::string& name, | 36 virtual void DidOpenFileSystem(const std::string& name, |
37 const GURL& root) { | 37 const GURL& root) OVERRIDE { |
38 NOTREACHED(); | 38 NOTREACHED(); |
39 } | 39 } |
40 virtual void DidSucceed() { | 40 virtual void DidSucceed() OVERRIDE { |
41 if (writer_) | 41 if (writer_) |
42 writer_->DidSucceed(); | 42 writer_->DidSucceed(); |
43 } | 43 } |
44 virtual void DidFail(base::PlatformFileError error_code) { | 44 virtual void DidFail(base::PlatformFileError error_code) OVERRIDE { |
45 if (writer_) | 45 if (writer_) |
46 writer_->DidFail(error_code); | 46 writer_->DidFail(error_code); |
47 } | 47 } |
48 virtual void DidWrite(int64 bytes, bool complete) { | 48 virtual void DidWrite(int64 bytes, bool complete) OVERRIDE { |
49 if (writer_) | 49 if (writer_) |
50 writer_->DidWrite(bytes, complete); | 50 writer_->DidWrite(bytes, complete); |
51 } | 51 } |
52 | 52 |
53 private: | 53 private: |
54 base::WeakPtr<WebFileWriterImpl> writer_; | 54 base::WeakPtr<WebFileWriterImpl> writer_; |
55 }; | 55 }; |
56 | 56 |
57 WebFileWriterImpl::WebFileWriterImpl( | 57 WebFileWriterImpl::WebFileWriterImpl( |
58 const GURL& path, WebKit::WebFileWriterClient* client) | 58 const GURL& path, WebKit::WebFileWriterClient* client) |
(...skipping 16 matching lines...) Expand all Loading... |
75 path, blob_url, offset, &request_id_, | 75 path, blob_url, offset, &request_id_, |
76 new CallbackDispatcher(AsWeakPtr())); | 76 new CallbackDispatcher(AsWeakPtr())); |
77 } | 77 } |
78 | 78 |
79 void WebFileWriterImpl::DoCancel() { | 79 void WebFileWriterImpl::DoCancel() { |
80 GetFileSystemDispatcher()->Cancel(request_id_, | 80 GetFileSystemDispatcher()->Cancel(request_id_, |
81 new CallbackDispatcher(AsWeakPtr())); | 81 new CallbackDispatcher(AsWeakPtr())); |
82 } | 82 } |
83 | 83 |
84 } // namespace content | 84 } // namespace content |
OLD | NEW |