| OLD | NEW |
| 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/fileapi/file_stream_write
r.h" | 5 #include "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_write
r.h" |
| 6 | 6 |
| 7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/thread_task_runner_handle.h" |
| 9 #include "chrome/browser/chromeos/file_system_provider/fileapi/provider_async_fi
le_util.h" | 10 #include "chrome/browser/chromeos/file_system_provider/fileapi/provider_async_fi
le_util.h" |
| 10 #include "chrome/browser/chromeos/file_system_provider/mount_path_util.h" | 11 #include "chrome/browser/chromeos/file_system_provider/mount_path_util.h" |
| 11 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_inte
rface.h" | 12 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_inte
rface.h" |
| 12 #include "content/public/browser/browser_thread.h" | 13 #include "content/public/browser/browser_thread.h" |
| 13 #include "net/base/io_buffer.h" | 14 #include "net/base/io_buffer.h" |
| 14 #include "net/base/net_errors.h" | 15 #include "net/base/net_errors.h" |
| 15 | 16 |
| 16 using content::BrowserThread; | 17 using content::BrowserThread; |
| 17 | 18 |
| 18 namespace chromeos { | 19 namespace chromeos { |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 FROM_HERE, | 266 FROM_HERE, |
| 266 base::Bind(&OperationRunner::AbortOnUIThread, | 267 base::Bind(&OperationRunner::AbortOnUIThread, |
| 267 runner_, | 268 runner_, |
| 268 base::Bind(&FileStreamWriter::OnAbortCompleted, | 269 base::Bind(&FileStreamWriter::OnAbortCompleted, |
| 269 weak_ptr_factory_.GetWeakPtr(), | 270 weak_ptr_factory_.GetWeakPtr(), |
| 270 callback))); | 271 callback))); |
| 271 return net::ERR_IO_PENDING; | 272 return net::ERR_IO_PENDING; |
| 272 } | 273 } |
| 273 | 274 |
| 274 int FileStreamWriter::Flush(const net::CompletionCallback& callback) { | 275 int FileStreamWriter::Flush(const net::CompletionCallback& callback) { |
| 275 if (state_ != INITIALIZED) | 276 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 276 return net::ERR_FAILED; | 277 FROM_HERE, |
| 278 base::Bind(callback, state_ == INITIALIZED ? net::OK : net::ERR_FAILED)); |
| 277 | 279 |
| 278 return net::OK; | 280 return net::ERR_IO_PENDING; |
| 279 } | 281 } |
| 280 | 282 |
| 281 void FileStreamWriter::OnWriteFileCompleted( | 283 void FileStreamWriter::OnWriteFileCompleted( |
| 282 int buffer_length, | 284 int buffer_length, |
| 283 const net::CompletionCallback& callback, | 285 const net::CompletionCallback& callback, |
| 284 base::File::Error result) { | 286 base::File::Error result) { |
| 285 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 287 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 286 DCHECK_EQ(INITIALIZED, state_); | 288 DCHECK_EQ(INITIALIZED, state_); |
| 287 | 289 |
| 288 if (result != base::File::FILE_OK) { | 290 if (result != base::File::FILE_OK) { |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 current_offset_, | 331 current_offset_, |
| 330 buffer_length, | 332 buffer_length, |
| 331 base::Bind(&FileStreamWriter::OnWriteFileCompleted, | 333 base::Bind(&FileStreamWriter::OnWriteFileCompleted, |
| 332 weak_ptr_factory_.GetWeakPtr(), | 334 weak_ptr_factory_.GetWeakPtr(), |
| 333 buffer_length, | 335 buffer_length, |
| 334 callback))); | 336 callback))); |
| 335 } | 337 } |
| 336 | 338 |
| 337 } // namespace file_system_provider | 339 } // namespace file_system_provider |
| 338 } // namespace chromeos | 340 } // namespace chromeos |
| OLD | NEW |