Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: storage/browser/fileapi/quota/quota_reservation.cc

Issue 2189113002: Rename CalledOnValidSequencedThread() to CalledOnValidSequence(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "storage/browser/fileapi/quota/quota_reservation.h" 5 #include "storage/browser/fileapi/quota/quota_reservation.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "storage/browser/fileapi/quota/open_file_handle.h" 12 #include "storage/browser/fileapi/quota/open_file_handle.h"
13 #include "storage/browser/fileapi/quota/quota_reservation_buffer.h" 13 #include "storage/browser/fileapi/quota/quota_reservation_buffer.h"
14 14
15 namespace storage { 15 namespace storage {
16 16
17 void QuotaReservation::RefreshReservation(int64_t size, 17 void QuotaReservation::RefreshReservation(int64_t size,
18 const StatusCallback& callback) { 18 const StatusCallback& callback) {
19 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 19 DCHECK(sequence_checker_.CalledOnValidSequence());
20 DCHECK(!running_refresh_request_); 20 DCHECK(!running_refresh_request_);
21 DCHECK(!client_crashed_); 21 DCHECK(!client_crashed_);
22 if (!reservation_manager()) 22 if (!reservation_manager())
23 return; 23 return;
24 24
25 running_refresh_request_ = true; 25 running_refresh_request_ = true;
26 26
27 reservation_manager()->ReserveQuota( 27 reservation_manager()->ReserveQuota(
28 origin(), type(), size - remaining_quota_, 28 origin(), type(), size - remaining_quota_,
29 base::Bind(&QuotaReservation::AdaptDidUpdateReservedQuota, 29 base::Bind(&QuotaReservation::AdaptDidUpdateReservedQuota,
30 weak_ptr_factory_.GetWeakPtr(), 30 weak_ptr_factory_.GetWeakPtr(),
31 remaining_quota_, callback)); 31 remaining_quota_, callback));
32 32
33 if (running_refresh_request_) 33 if (running_refresh_request_)
34 remaining_quota_ = 0; 34 remaining_quota_ = 0;
35 } 35 }
36 36
37 std::unique_ptr<OpenFileHandle> QuotaReservation::GetOpenFileHandle( 37 std::unique_ptr<OpenFileHandle> QuotaReservation::GetOpenFileHandle(
38 const base::FilePath& platform_path) { 38 const base::FilePath& platform_path) {
39 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 39 DCHECK(sequence_checker_.CalledOnValidSequence());
40 DCHECK(!client_crashed_); 40 DCHECK(!client_crashed_);
41 return reservation_buffer_->GetOpenFileHandle(this, platform_path); 41 return reservation_buffer_->GetOpenFileHandle(this, platform_path);
42 } 42 }
43 43
44 void QuotaReservation::OnClientCrash() { 44 void QuotaReservation::OnClientCrash() {
45 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 45 DCHECK(sequence_checker_.CalledOnValidSequence());
46 client_crashed_ = true; 46 client_crashed_ = true;
47 47
48 if (remaining_quota_) { 48 if (remaining_quota_) {
49 reservation_buffer_->PutReservationToBuffer(remaining_quota_); 49 reservation_buffer_->PutReservationToBuffer(remaining_quota_);
50 remaining_quota_ = 0; 50 remaining_quota_ = 0;
51 } 51 }
52 } 52 }
53 53
54 void QuotaReservation::ConsumeReservation(int64_t size) { 54 void QuotaReservation::ConsumeReservation(int64_t size) {
55 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 55 DCHECK(sequence_checker_.CalledOnValidSequence());
56 DCHECK_LT(0, size); 56 DCHECK_LT(0, size);
57 DCHECK_LE(size, remaining_quota_); 57 DCHECK_LE(size, remaining_quota_);
58 if (client_crashed_) 58 if (client_crashed_)
59 return; 59 return;
60 60
61 remaining_quota_ -= size; 61 remaining_quota_ -= size;
62 reservation_buffer_->PutReservationToBuffer(size); 62 reservation_buffer_->PutReservationToBuffer(size);
63 } 63 }
64 64
65 QuotaReservationManager* QuotaReservation::reservation_manager() { 65 QuotaReservationManager* QuotaReservation::reservation_manager() {
66 return reservation_buffer_->reservation_manager(); 66 return reservation_buffer_->reservation_manager();
67 } 67 }
68 68
69 const GURL& QuotaReservation::origin() const { 69 const GURL& QuotaReservation::origin() const {
70 return reservation_buffer_->origin(); 70 return reservation_buffer_->origin();
71 } 71 }
72 72
73 FileSystemType QuotaReservation::type() const { 73 FileSystemType QuotaReservation::type() const {
74 return reservation_buffer_->type(); 74 return reservation_buffer_->type();
75 } 75 }
76 76
77 QuotaReservation::QuotaReservation( 77 QuotaReservation::QuotaReservation(
78 QuotaReservationBuffer* reservation_buffer) 78 QuotaReservationBuffer* reservation_buffer)
79 : client_crashed_(false), 79 : client_crashed_(false),
80 running_refresh_request_(false), 80 running_refresh_request_(false),
81 remaining_quota_(0), 81 remaining_quota_(0),
82 reservation_buffer_(reservation_buffer), 82 reservation_buffer_(reservation_buffer),
83 weak_ptr_factory_(this) { 83 weak_ptr_factory_(this) {
84 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 84 DCHECK(sequence_checker_.CalledOnValidSequence());
85 } 85 }
86 86
87 QuotaReservation::~QuotaReservation() { 87 QuotaReservation::~QuotaReservation() {
88 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 88 DCHECK(sequence_checker_.CalledOnValidSequence());
89 89
90 if (remaining_quota_ && reservation_manager()) { 90 if (remaining_quota_ && reservation_manager()) {
91 reservation_manager()->ReleaseReservedQuota( 91 reservation_manager()->ReleaseReservedQuota(
92 origin(), type(), remaining_quota_); 92 origin(), type(), remaining_quota_);
93 } 93 }
94 } 94 }
95 95
96 // static 96 // static
97 bool QuotaReservation::AdaptDidUpdateReservedQuota( 97 bool QuotaReservation::AdaptDidUpdateReservedQuota(
98 const base::WeakPtr<QuotaReservation>& reservation, 98 const base::WeakPtr<QuotaReservation>& reservation,
99 int64_t previous_size, 99 int64_t previous_size,
100 const StatusCallback& callback, 100 const StatusCallback& callback,
101 base::File::Error error, 101 base::File::Error error,
102 int64_t delta) { 102 int64_t delta) {
103 if (!reservation) 103 if (!reservation)
104 return false; 104 return false;
105 105
106 return reservation->DidUpdateReservedQuota( 106 return reservation->DidUpdateReservedQuota(
107 previous_size, callback, error, delta); 107 previous_size, callback, error, delta);
108 } 108 }
109 109
110 bool QuotaReservation::DidUpdateReservedQuota(int64_t previous_size, 110 bool QuotaReservation::DidUpdateReservedQuota(int64_t previous_size,
111 const StatusCallback& callback, 111 const StatusCallback& callback,
112 base::File::Error error, 112 base::File::Error error,
113 int64_t delta) { 113 int64_t delta) {
114 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 114 DCHECK(sequence_checker_.CalledOnValidSequence());
115 DCHECK(running_refresh_request_); 115 DCHECK(running_refresh_request_);
116 running_refresh_request_ = false; 116 running_refresh_request_ = false;
117 117
118 if (client_crashed_) { 118 if (client_crashed_) {
119 callback.Run(base::File::FILE_ERROR_ABORT); 119 callback.Run(base::File::FILE_ERROR_ABORT);
120 return false; 120 return false;
121 } 121 }
122 122
123 if (error == base::File::FILE_OK) 123 if (error == base::File::FILE_OK)
124 remaining_quota_ = previous_size + delta; 124 remaining_quota_ = previous_size + delta;
125 callback.Run(error); 125 callback.Run(error);
126 return true; 126 return true;
127 } 127 }
128 128
129 } // namespace storage 129 } // namespace storage
OLDNEW
« no previous file with comments | « storage/browser/fileapi/quota/open_file_handle_context.cc ('k') | storage/browser/fileapi/quota/quota_reservation_buffer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698