summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi/file_system_operation.cc
diff options
context:
space:
mode:
authordmikurube@chromium.org <dmikurube@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-21 05:04:51 +0000
committerdmikurube@chromium.org <dmikurube@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-21 05:04:51 +0000
commit078c6971a60c9a375e433ded4399a23a57382053 (patch)
tree94b9294bcb406857553f34cb4520a89e4231a5ee /webkit/fileapi/file_system_operation.cc
parentcbf61bccc4488871222e616065b1104e57c5e9ac (diff)
downloadchromium_src-078c6971a60c9a375e433ded4399a23a57382053.zip
chromium_src-078c6971a60c9a375e433ded4399a23a57382053.tar.gz
chromium_src-078c6971a60c9a375e433ded4399a23a57382053.tar.bz2
Add "allowed growth" for writing operations, such as copy, move, write and truncate.
A writing operation which increases the file size more than "allowed growth" results in PLATFORM_FILE_ERROR_NO_SPACE. BUG=74841 TEST=FileWriterDelegateTest.*,QuotaFileUtilTest.*,FileSystemOperationTest.* Review URL: http://codereview.chromium.org/6725021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82441 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/file_system_operation.cc')
-rw-r--r--webkit/fileapi/file_system_operation.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/webkit/fileapi/file_system_operation.cc b/webkit/fileapi/file_system_operation.cc
index 046a16f..12ec587 100644
--- a/webkit/fileapi/file_system_operation.cc
+++ b/webkit/fileapi/file_system_operation.cc
@@ -16,6 +16,7 @@
#include "webkit/fileapi/file_system_util.h"
#include "webkit/fileapi/file_writer_delegate.h"
#include "webkit/fileapi/local_file_system_file_util.h"
+#include "webkit/fileapi/quota_file_util.h"
namespace fileapi {
@@ -34,6 +35,9 @@ FileSystemOperation::FileSystemOperation(
#ifndef NDEBUG
pending_operation_ = kOperationNone;
#endif
+ // TODO(dmikurube): Read and set available bytes from the Quota Manager.
+ file_system_operation_context_.set_allowed_bytes_growth(
+ QuotaFileUtil::kNoLimit);
}
FileSystemOperation::~FileSystemOperation() {
@@ -624,7 +628,8 @@ void FileSystemOperation::OnFileOpenedForWrite(
delete this;
return;
}
- file_writer_delegate_->Start(file.ReleaseValue(), blob_request_.get());
+ file_writer_delegate_->Start(file.ReleaseValue(), blob_request_.get(),
+ file_system_operation_context_.allowed_bytes_growth(), proxy_);
}
bool FileSystemOperation::VerifyFileSystemPathForRead(