| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "storage/browser/fileapi/quota/open_file_handle.h" |
| |
| #include <stdint.h> |
| |
| #include "storage/browser/fileapi/quota/open_file_handle_context.h" |
| #include "storage/browser/fileapi/quota/quota_reservation.h" |
| |
| namespace storage { |
| |
| OpenFileHandle::~OpenFileHandle() { |
| DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
| } |
| |
| void OpenFileHandle::UpdateMaxWrittenOffset(int64_t offset) { |
| DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
| |
| int64_t growth = context_->UpdateMaxWrittenOffset(offset); |
| if (growth > 0) |
| reservation_->ConsumeReservation(growth); |
| } |
| |
| void OpenFileHandle::AddAppendModeWriteAmount(int64_t amount) { |
| DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
| if (amount <= 0) |
| return; |
| |
| context_->AddAppendModeWriteAmount(amount); |
| reservation_->ConsumeReservation(amount); |
| } |
| |
| int64_t OpenFileHandle::GetEstimatedFileSize() const { |
| DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
| return context_->GetEstimatedFileSize(); |
| } |
| |
| int64_t OpenFileHandle::GetMaxWrittenOffset() const { |
| DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
| return context_->GetMaxWrittenOffset(); |
| } |
| |
| const base::FilePath& OpenFileHandle::platform_path() const { |
| DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
| return context_->platform_path(); |
| } |
| |
| OpenFileHandle::OpenFileHandle(QuotaReservation* reservation, |
| OpenFileHandleContext* context) |
| : reservation_(reservation), |
| context_(context) { |
| DCHECK(sequence_checker_.CalledOnValidSequencedThread()); |
| } |
| |
| } // namespace storage |