Commit 1647ce3b authored by Raul Tambre's avatar Raul Tambre Committed by Commit Bot

//storage/browser/fileapi: Fix a few 64-bit truncation issues

Bug: 879657
Change-Id: Iefd2f8c923d08b6d0a25ba4aa4fad3f2716ea574
Reviewed-on: https://chromium-review.googlesource.com/c/1481323Reviewed-by: default avatarMarijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Raul Tambre <raul@tambre.ee>
Cr-Commit-Position: refs/heads/master@{#634367}
parent a6239be6
......@@ -120,7 +120,7 @@ void FileSystemFileStreamReader::DidCreateSnapshot(
return;
}
int rv = file_reader_->GetLength(base::BindOnce(
int64_t rv = file_reader_->GetLength(base::BindOnce(
&FileSystemFileStreamReader::OnGetLength, weak_factory_.GetWeakPtr()));
if (rv != net::ERR_IO_PENDING)
std::move(get_length_callback_).Run(rv);
......
......@@ -1208,7 +1208,7 @@ TEST_F(FileSystemOperationImplTest, TestCreateSnapshotFile) {
TEST_F(FileSystemOperationImplTest,
TestMoveSuccessSrcDirRecursiveWithQuota) {
FileSystemURL src(CreateDirectory("src"));
int src_path_cost = GetUsage();
int64_t src_path_cost = GetUsage();
FileSystemURL dest(CreateDirectory("dest"));
FileSystemURL child_file1(CreateFile("src/file1"));
......@@ -1217,7 +1217,7 @@ TEST_F(FileSystemOperationImplTest,
FileSystemURL grandchild_file1(CreateFile("src/dir/file1"));
FileSystemURL grandchild_file2(CreateFile("src/dir/file2"));
int total_path_cost = GetUsage();
int64_t total_path_cost = GetUsage();
EXPECT_EQ(0, GetDataSizeOnDisk());
EXPECT_EQ(base::File::FILE_OK, Truncate(child_file1, 5000));
......
......@@ -72,9 +72,12 @@ int LocalFileStreamReader::Read(net::IOBuffer* buf,
if (stream_impl_)
return stream_impl_->Read(buf, buf_len, std::move(callback));
return Open(base::BindOnce(&LocalFileStreamReader::DidOpenForRead,
weak_factory_.GetWeakPtr(), base::RetainedRef(buf),
buf_len, std::move(callback)));
Open(base::BindOnce(&LocalFileStreamReader::DidOpenForRead,
weak_factory_.GetWeakPtr(), base::RetainedRef(buf),
buf_len, std::move(callback)));
return net::ERR_IO_PENDING;
}
int64_t LocalFileStreamReader::GetLength(
......@@ -101,16 +104,17 @@ LocalFileStreamReader::LocalFileStreamReader(
has_pending_open_(false),
weak_factory_(this) {}
int LocalFileStreamReader::Open(net::CompletionOnceCallback callback) {
void LocalFileStreamReader::Open(net::CompletionOnceCallback callback) {
DCHECK(!has_pending_open_);
DCHECK(!stream_impl_.get());
has_pending_open_ = true;
// Call GetLength first to make it perform last-modified-time verification,
// and then call DidVerifyForOpen for do the rest.
return GetLength(base::BindOnce(&LocalFileStreamReader::DidVerifyForOpen,
weak_factory_.GetWeakPtr(),
std::move(callback)));
// and then call DidVerifyForOpen to do the rest.
int64_t verify_result = GetLength(
base::BindOnce(&LocalFileStreamReader::DidVerifyForOpen,
weak_factory_.GetWeakPtr(), std::move(callback)));
DCHECK_EQ(verify_result, net::ERR_IO_PENDING);
}
void LocalFileStreamReader::DidVerifyForOpen(
......
......@@ -53,7 +53,7 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) LocalFileStreamReader
const base::FilePath& file_path,
int64_t initial_offset,
const base::Time& expected_modification_time);
int Open(net::CompletionOnceCallback callback);
void Open(net::CompletionOnceCallback callback);
// Callbacks that are chained from Open for Read.
void DidVerifyForOpen(net::CompletionOnceCallback callback,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment