| Index: webkit/browser/fileapi/file_system_operation_impl.cc
|
| diff --git a/webkit/browser/fileapi/file_system_operation_impl.cc b/webkit/browser/fileapi/file_system_operation_impl.cc
|
| index 0e7b9378f43b98ee99deba157ef4061a1e78ba7c..7cae79aaf3b1045b09c1a82eab85eec77c76eaa5 100644
|
| --- a/webkit/browser/fileapi/file_system_operation_impl.cc
|
| +++ b/webkit/browser/fileapi/file_system_operation_impl.cc
|
| @@ -453,8 +453,12 @@ void FileSystemOperationImpl::DidFinishOperation(
|
| DCHECK_EQ(kOperationTruncate, pending_operation_);
|
|
|
| StatusCallback cancel_callback = cancel_callback_;
|
| - callback.Run(base::PLATFORM_FILE_ERROR_ABORT);
|
| - cancel_callback.Run(base::PLATFORM_FILE_OK);
|
| + callback.Run(rv);
|
| +
|
| + // Return OK only if we succeeded to stop the operation.
|
| + cancel_callback.Run(rv == base::PLATFORM_FILE_ERROR_ABORT ?
|
| + base::PLATFORM_FILE_OK :
|
| + base::PLATFORM_FILE_ERROR_INVALID_OPERATION);
|
| } else {
|
| callback.Run(rv);
|
| }
|
|
|