| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/filesystem/file_impl.h" | 5 #include "components/filesystem/file_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 if (!new_file.IsValid()) { | 253 if (!new_file.IsValid()) { |
| 254 callback.Run(GetError(new_file)); | 254 callback.Run(GetError(new_file)); |
| 255 return; | 255 return; |
| 256 } | 256 } |
| 257 | 257 |
| 258 if (file.is_pending()) | 258 if (file.is_pending()) |
| 259 new FileImpl(file.Pass(), new_file.Pass()); | 259 new FileImpl(file.Pass(), new_file.Pass()); |
| 260 callback.Run(FILE_ERROR_OK); | 260 callback.Run(FILE_ERROR_OK); |
| 261 } | 261 } |
| 262 | 262 |
| 263 void FileImpl::Flush(const FlushCallback& callback) { |
| 264 if (!file_.IsValid()) { |
| 265 callback.Run(GetError(file_)); |
| 266 return; |
| 267 } |
| 268 |
| 269 bool ret = file_.Flush(); |
| 270 callback.Run(ret ? FILE_ERROR_OK : FILE_ERROR_FAILED); |
| 271 } |
| 272 |
| 263 void FileImpl::AsHandle(const AsHandleCallback& callback) { | 273 void FileImpl::AsHandle(const AsHandleCallback& callback) { |
| 264 if (!file_.IsValid()) { | 274 if (!file_.IsValid()) { |
| 265 callback.Run(GetError(file_), ScopedHandle()); | 275 callback.Run(GetError(file_), ScopedHandle()); |
| 266 return; | 276 return; |
| 267 } | 277 } |
| 268 | 278 |
| 269 base::File new_file = file_.Duplicate(); | 279 base::File new_file = file_.Duplicate(); |
| 270 if (!new_file.IsValid()) { | 280 if (!new_file.IsValid()) { |
| 271 callback.Run(GetError(new_file), ScopedHandle()); | 281 callback.Run(GetError(new_file), ScopedHandle()); |
| 272 return; | 282 return; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 292 new_file.TakePlatformFile(), &mojo_handle); | 302 new_file.TakePlatformFile(), &mojo_handle); |
| 293 if (create_result != MOJO_RESULT_OK) { | 303 if (create_result != MOJO_RESULT_OK) { |
| 294 callback.Run(FILE_ERROR_FAILED, ScopedHandle()); | 304 callback.Run(FILE_ERROR_FAILED, ScopedHandle()); |
| 295 return; | 305 return; |
| 296 } | 306 } |
| 297 | 307 |
| 298 callback.Run(FILE_ERROR_OK, ScopedHandle(mojo::Handle(mojo_handle)).Pass()); | 308 callback.Run(FILE_ERROR_OK, ScopedHandle(mojo::Handle(mojo_handle)).Pass()); |
| 299 } | 309 } |
| 300 | 310 |
| 301 } // namespace filesystem | 311 } // namespace filesystem |
| OLD | NEW |