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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/fake_provided_file_system.cc

Issue 298003006: [fsp] Fix error codes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/chromeos/file_system_provider/fake_provided_file_system .h" 5 #include "chrome/browser/chromeos/file_system_provider/fake_provided_file_system .h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/files/file.h" 9 #include "base/files/file.h"
10 #include "base/message_loop/message_loop_proxy.h" 10 #include "base/message_loop/message_loop_proxy.h"
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 FROM_HERE, 139 FROM_HERE,
140 base::Bind( 140 base::Bind(
141 callback, base::File::FILE_OK, entry_list, false /* has_more */)); 141 callback, base::File::FILE_OK, entry_list, false /* has_more */));
142 } 142 }
143 } 143 }
144 144
145 void FakeProvidedFileSystem::OpenFile(const base::FilePath& file_path, 145 void FakeProvidedFileSystem::OpenFile(const base::FilePath& file_path,
146 OpenFileMode mode, 146 OpenFileMode mode,
147 bool create, 147 bool create,
148 const OpenFileCallback& callback) { 148 const OpenFileCallback& callback) {
149 if (file_path.AsUTF8Unsafe() != "/hello.txt" || 149 if (mode == OPEN_FILE_MODE_WRITE || create) {
150 mode == OPEN_FILE_MODE_WRITE || create) { 150 base::MessageLoopProxy::current()->PostTask(
151 FROM_HERE,
152 base::Bind(callback,
153 0 /* file_handle */,
154 base::File::FILE_ERROR_ACCESS_DENIED));
155 }
156
157 if (file_path.AsUTF8Unsafe() != "/hello.txt") {
151 base::MessageLoopProxy::current()->PostTask( 158 base::MessageLoopProxy::current()->PostTask(
152 FROM_HERE, 159 FROM_HERE,
153 base::Bind( 160 base::Bind(
154 callback, 0 /* file_handle */, base::File::FILE_ERROR_SECURITY)); 161 callback, 0 /* file_handle */, base::File::FILE_ERROR_NOT_FOUND));
155 return; 162 return;
156 } 163 }
157 164
158 const int file_handle = ++last_file_handle_; 165 const int file_handle = ++last_file_handle_;
159 opened_files_[file_handle] = file_path; 166 opened_files_[file_handle] = file_path;
160 base::MessageLoopProxy::current()->PostTask( 167 base::MessageLoopProxy::current()->PostTask(
161 FROM_HERE, base::Bind(callback, file_handle, base::File::FILE_OK)); 168 FROM_HERE, base::Bind(callback, file_handle, base::File::FILE_OK));
162 } 169 }
163 170
164 void FakeProvidedFileSystem::CloseFile( 171 void FakeProvidedFileSystem::CloseFile(
(...skipping 20 matching lines...) Expand all
185 const ProvidedFileSystemInterface::ReadChunkReceivedCallback& callback) { 192 const ProvidedFileSystemInterface::ReadChunkReceivedCallback& callback) {
186 const OpenedFilesMap::iterator opened_file_it = 193 const OpenedFilesMap::iterator opened_file_it =
187 opened_files_.find(file_handle); 194 opened_files_.find(file_handle);
188 if (opened_file_it == opened_files_.end() || 195 if (opened_file_it == opened_files_.end() ||
189 opened_file_it->second.AsUTF8Unsafe() != kFakeFilePath) { 196 opened_file_it->second.AsUTF8Unsafe() != kFakeFilePath) {
190 base::MessageLoopProxy::current()->PostTask( 197 base::MessageLoopProxy::current()->PostTask(
191 FROM_HERE, 198 FROM_HERE,
192 base::Bind(callback, 199 base::Bind(callback,
193 0 /* chunk_length */, 200 0 /* chunk_length */,
194 false /* has_next */, 201 false /* has_next */,
195 base::File::FILE_ERROR_SECURITY)); 202 base::File::FILE_ERROR_INVALID_OPERATION));
196 return; 203 return;
197 } 204 }
198 205
199 // Send the response byte by byte. 206 // Send the response byte by byte.
200 size_t current_offset = static_cast<size_t>(offset); 207 size_t current_offset = static_cast<size_t>(offset);
201 size_t current_length = static_cast<size_t>(length); 208 size_t current_length = static_cast<size_t>(length);
202 209
203 // Reading behind EOF is fine, it will just return 0 bytes. 210 // Reading behind EOF is fine, it will just return 0 bytes.
204 if (current_offset >= kFakeFileSize || !current_length) { 211 if (current_offset >= kFakeFileSize || !current_length) {
205 base::MessageLoopProxy::current()->PostTask( 212 base::MessageLoopProxy::current()->PostTask(
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 return new FakeProvidedFileSystem(file_system_info); 246 return new FakeProvidedFileSystem(file_system_info);
240 } 247 }
241 248
242 base::WeakPtr<ProvidedFileSystemInterface> 249 base::WeakPtr<ProvidedFileSystemInterface>
243 FakeProvidedFileSystem::GetWeakPtr() { 250 FakeProvidedFileSystem::GetWeakPtr() {
244 return weak_ptr_factory_.GetWeakPtr(); 251 return weak_ptr_factory_.GetWeakPtr();
245 } 252 }
246 253
247 } // namespace file_system_provider 254 } // namespace file_system_provider
248 } // namespace chromeos 255 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/file_system_provider/fileapi/file_stream_reader_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698