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

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

Issue 442383002: Move storage-related files from webkit/ to new top-level directory storage/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 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 | Annotate | Revision Log
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 "webkit/browser/fileapi/quota/quota_reservation.h" 5 #include "storage/browser/fileapi/quota/quota_reservation.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "webkit/browser/fileapi/quota/open_file_handle.h" 8 #include "storage/browser/fileapi/quota/open_file_handle.h"
9 #include "webkit/browser/fileapi/quota/quota_reservation_buffer.h" 9 #include "storage/browser/fileapi/quota/quota_reservation_buffer.h"
10 10
11 namespace fileapi { 11 namespace storage {
12 12
13 void QuotaReservation::RefreshReservation( 13 void QuotaReservation::RefreshReservation(int64 size,
14 int64 size, 14 const StatusCallback& callback) {
15 const StatusCallback& callback) {
16 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 15 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
17 DCHECK(!running_refresh_request_); 16 DCHECK(!running_refresh_request_);
18 DCHECK(!client_crashed_); 17 DCHECK(!client_crashed_);
19 if (!reservation_manager()) 18 if (!reservation_manager())
20 return; 19 return;
21 20
22 running_refresh_request_ = true; 21 running_refresh_request_ = true;
23 22
24 reservation_manager()->ReserveQuota( 23 reservation_manager()->ReserveQuota(
25 origin(), type(), size - remaining_quota_, 24 origin(),
25 type(),
26 size - remaining_quota_,
26 base::Bind(&QuotaReservation::AdaptDidUpdateReservedQuota, 27 base::Bind(&QuotaReservation::AdaptDidUpdateReservedQuota,
27 weak_ptr_factory_.GetWeakPtr(), 28 weak_ptr_factory_.GetWeakPtr(),
28 remaining_quota_, callback)); 29 remaining_quota_,
30 callback));
29 31
30 if (running_refresh_request_) 32 if (running_refresh_request_)
31 remaining_quota_ = 0; 33 remaining_quota_ = 0;
32 } 34 }
33 35
34 scoped_ptr<OpenFileHandle> QuotaReservation::GetOpenFileHandle( 36 scoped_ptr<OpenFileHandle> QuotaReservation::GetOpenFileHandle(
35 const base::FilePath& platform_path) { 37 const base::FilePath& platform_path) {
36 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 38 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
37 DCHECK(!client_crashed_); 39 DCHECK(!client_crashed_);
38 return reservation_buffer_->GetOpenFileHandle(this, platform_path); 40 return reservation_buffer_->GetOpenFileHandle(this, platform_path);
(...skipping 25 matching lines...) Expand all
64 } 66 }
65 67
66 const GURL& QuotaReservation::origin() const { 68 const GURL& QuotaReservation::origin() const {
67 return reservation_buffer_->origin(); 69 return reservation_buffer_->origin();
68 } 70 }
69 71
70 FileSystemType QuotaReservation::type() const { 72 FileSystemType QuotaReservation::type() const {
71 return reservation_buffer_->type(); 73 return reservation_buffer_->type();
72 } 74 }
73 75
74 QuotaReservation::QuotaReservation( 76 QuotaReservation::QuotaReservation(QuotaReservationBuffer* reservation_buffer)
75 QuotaReservationBuffer* reservation_buffer)
76 : client_crashed_(false), 77 : client_crashed_(false),
77 running_refresh_request_(false), 78 running_refresh_request_(false),
78 remaining_quota_(0), 79 remaining_quota_(0),
79 reservation_buffer_(reservation_buffer), 80 reservation_buffer_(reservation_buffer),
80 weak_ptr_factory_(this) { 81 weak_ptr_factory_(this) {
81 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 82 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
82 } 83 }
83 84
84 QuotaReservation::~QuotaReservation() { 85 QuotaReservation::~QuotaReservation() {
85 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 86 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
(...skipping 11 matching lines...) Expand all
97 const StatusCallback& callback, 98 const StatusCallback& callback,
98 base::File::Error error, 99 base::File::Error error,
99 int64 delta) { 100 int64 delta) {
100 if (!reservation) 101 if (!reservation)
101 return false; 102 return false;
102 103
103 return reservation->DidUpdateReservedQuota( 104 return reservation->DidUpdateReservedQuota(
104 previous_size, callback, error, delta); 105 previous_size, callback, error, delta);
105 } 106 }
106 107
107 bool QuotaReservation::DidUpdateReservedQuota( 108 bool QuotaReservation::DidUpdateReservedQuota(int64 previous_size,
108 int64 previous_size, 109 const StatusCallback& callback,
109 const StatusCallback& callback, 110 base::File::Error error,
110 base::File::Error error, 111 int64 delta) {
111 int64 delta) {
112 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 112 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
113 DCHECK(running_refresh_request_); 113 DCHECK(running_refresh_request_);
114 running_refresh_request_ = false; 114 running_refresh_request_ = false;
115 115
116 if (client_crashed_) { 116 if (client_crashed_) {
117 callback.Run(base::File::FILE_ERROR_ABORT); 117 callback.Run(base::File::FILE_ERROR_ABORT);
118 return false; 118 return false;
119 } 119 }
120 120
121 if (error == base::File::FILE_OK) 121 if (error == base::File::FILE_OK)
122 remaining_quota_ = previous_size + delta; 122 remaining_quota_ = previous_size + delta;
123 callback.Run(error); 123 callback.Run(error);
124 return true; 124 return true;
125 } 125 }
126 126
127 } // namespace fileapi 127 } // namespace storage
OLDNEW
« no previous file with comments | « storage/browser/fileapi/quota/quota_reservation.h ('k') | storage/browser/fileapi/quota/quota_reservation_buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698