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

Side by Side Diff: webkit/browser/fileapi/quota/quota_backend_impl.cc

Issue 145303002: Convert Media Galleries to use base::File (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 10 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_backend_impl.h" 5 #include "webkit/browser/fileapi/quota/quota_backend_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 21 matching lines...) Expand all
32 QuotaBackendImpl::~QuotaBackendImpl() { 32 QuotaBackendImpl::~QuotaBackendImpl() {
33 } 33 }
34 34
35 void QuotaBackendImpl::ReserveQuota(const GURL& origin, 35 void QuotaBackendImpl::ReserveQuota(const GURL& origin,
36 FileSystemType type, 36 FileSystemType type,
37 int64 delta, 37 int64 delta,
38 const ReserveQuotaCallback& callback) { 38 const ReserveQuotaCallback& callback) {
39 DCHECK(file_task_runner_->RunsTasksOnCurrentThread()); 39 DCHECK(file_task_runner_->RunsTasksOnCurrentThread());
40 DCHECK(origin.is_valid()); 40 DCHECK(origin.is_valid());
41 if (!delta) { 41 if (!delta) {
42 callback.Run(base::PLATFORM_FILE_OK); 42 callback.Run(base::File::FILE_OK);
43 return; 43 return;
44 } 44 }
45 DCHECK(quota_manager_proxy_); 45 DCHECK(quota_manager_proxy_);
46 quota_manager_proxy_->GetUsageAndQuota( 46 quota_manager_proxy_->GetUsageAndQuota(
47 file_task_runner_, origin, FileSystemTypeToQuotaStorageType(type), 47 file_task_runner_, origin, FileSystemTypeToQuotaStorageType(type),
48 base::Bind(&QuotaBackendImpl::DidGetUsageAndQuotaForReserveQuota, 48 base::Bind(&QuotaBackendImpl::DidGetUsageAndQuotaForReserveQuota,
49 weak_ptr_factory_.GetWeakPtr(), 49 weak_ptr_factory_.GetWeakPtr(),
50 QuotaReservationInfo(origin, type, delta), callback)); 50 QuotaReservationInfo(origin, type, delta), callback));
51 } 51 }
52 52
(...skipping 10 matching lines...) Expand all
63 63
64 void QuotaBackendImpl::CommitQuotaUsage(const GURL& origin, 64 void QuotaBackendImpl::CommitQuotaUsage(const GURL& origin,
65 FileSystemType type, 65 FileSystemType type,
66 int64 delta) { 66 int64 delta) {
67 DCHECK(file_task_runner_->RunsTasksOnCurrentThread()); 67 DCHECK(file_task_runner_->RunsTasksOnCurrentThread());
68 DCHECK(origin.is_valid()); 68 DCHECK(origin.is_valid());
69 if (!delta) 69 if (!delta)
70 return; 70 return;
71 ReserveQuotaInternal(QuotaReservationInfo(origin, type, delta)); 71 ReserveQuotaInternal(QuotaReservationInfo(origin, type, delta));
72 base::FilePath path; 72 base::FilePath path;
73 if (GetUsageCachePath(origin, type, &path) != base::PLATFORM_FILE_OK) 73 if (GetUsageCachePath(origin, type, &path) != base::File::FILE_OK)
74 return; 74 return;
75 bool result = file_system_usage_cache_->AtomicUpdateUsageByDelta(path, delta); 75 bool result = file_system_usage_cache_->AtomicUpdateUsageByDelta(path, delta);
76 DCHECK(result); 76 DCHECK(result);
77 } 77 }
78 78
79 void QuotaBackendImpl::IncrementDirtyCount(const GURL& origin, 79 void QuotaBackendImpl::IncrementDirtyCount(const GURL& origin,
80 FileSystemType type) { 80 FileSystemType type) {
81 DCHECK(file_task_runner_->RunsTasksOnCurrentThread()); 81 DCHECK(file_task_runner_->RunsTasksOnCurrentThread());
82 DCHECK(origin.is_valid()); 82 DCHECK(origin.is_valid());
83 base::FilePath path; 83 base::FilePath path;
84 if (GetUsageCachePath(origin, type, &path) != base::PLATFORM_FILE_OK) 84 if (GetUsageCachePath(origin, type, &path) != base::File::FILE_OK)
85 return; 85 return;
86 DCHECK(file_system_usage_cache_); 86 DCHECK(file_system_usage_cache_);
87 file_system_usage_cache_->IncrementDirty(path); 87 file_system_usage_cache_->IncrementDirty(path);
88 } 88 }
89 89
90 void QuotaBackendImpl::DecrementDirtyCount(const GURL& origin, 90 void QuotaBackendImpl::DecrementDirtyCount(const GURL& origin,
91 FileSystemType type) { 91 FileSystemType type) {
92 DCHECK(file_task_runner_->RunsTasksOnCurrentThread()); 92 DCHECK(file_task_runner_->RunsTasksOnCurrentThread());
93 DCHECK(origin.is_valid()); 93 DCHECK(origin.is_valid());
94 base::FilePath path; 94 base::FilePath path;
95 if (GetUsageCachePath(origin, type, &path) != base::PLATFORM_FILE_OK) 95 if (GetUsageCachePath(origin, type, &path) != base::File::FILE_OK)
96 return; 96 return;
97 DCHECK(file_system_usage_cache_); 97 DCHECK(file_system_usage_cache_);
98 file_system_usage_cache_->DecrementDirty(path); 98 file_system_usage_cache_->DecrementDirty(path);
99 } 99 }
100 100
101 void QuotaBackendImpl::DidGetUsageAndQuotaForReserveQuota( 101 void QuotaBackendImpl::DidGetUsageAndQuotaForReserveQuota(
102 const QuotaReservationInfo& info, 102 const QuotaReservationInfo& info,
103 const ReserveQuotaCallback& callback, 103 const ReserveQuotaCallback& callback,
104 quota::QuotaStatusCode status, int64 usage, int64 quota) { 104 quota::QuotaStatusCode status, int64 usage, int64 quota) {
105 DCHECK(file_task_runner_->RunsTasksOnCurrentThread()); 105 DCHECK(file_task_runner_->RunsTasksOnCurrentThread());
106 DCHECK(info.origin.is_valid()); 106 DCHECK(info.origin.is_valid());
107 if (status != quota::kQuotaStatusOk) { 107 if (status != quota::kQuotaStatusOk) {
108 callback.Run(base::PLATFORM_FILE_ERROR_FAILED); 108 callback.Run(base::File::FILE_ERROR_FAILED);
109 return; 109 return;
110 } 110 }
111 111
112 if (quota < usage + info.delta) { 112 if (quota < usage + info.delta) {
113 callback.Run(base::PLATFORM_FILE_ERROR_NO_SPACE); 113 callback.Run(base::File::FILE_ERROR_NO_SPACE);
114 return; 114 return;
115 } 115 }
116 116
117 ReserveQuotaInternal(info); 117 ReserveQuotaInternal(info);
118 if (callback.Run(base::PLATFORM_FILE_OK)) 118 if (callback.Run(base::File::FILE_OK))
119 return; 119 return;
120 // The requester could not accept the reserved quota. Revert it. 120 // The requester could not accept the reserved quota. Revert it.
121 ReserveQuotaInternal( 121 ReserveQuotaInternal(
122 QuotaReservationInfo(info.origin, info.type, -info.delta)); 122 QuotaReservationInfo(info.origin, info.type, -info.delta));
123 } 123 }
124 124
125 void QuotaBackendImpl::ReserveQuotaInternal(const QuotaReservationInfo& info) { 125 void QuotaBackendImpl::ReserveQuotaInternal(const QuotaReservationInfo& info) {
126 DCHECK(file_task_runner_->RunsTasksOnCurrentThread()); 126 DCHECK(file_task_runner_->RunsTasksOnCurrentThread());
127 DCHECK(info.origin.is_valid()); 127 DCHECK(info.origin.is_valid());
128 DCHECK(quota_manager_proxy_); 128 DCHECK(quota_manager_proxy_);
129 quota_manager_proxy_->NotifyStorageModified( 129 quota_manager_proxy_->NotifyStorageModified(
130 quota::QuotaClient::kFileSystem, info.origin, 130 quota::QuotaClient::kFileSystem, info.origin,
131 FileSystemTypeToQuotaStorageType(info.type), info.delta); 131 FileSystemTypeToQuotaStorageType(info.type), info.delta);
132 } 132 }
133 133
134 base::PlatformFileError QuotaBackendImpl::GetUsageCachePath( 134 base::File::Error QuotaBackendImpl::GetUsageCachePath(
135 const GURL& origin, 135 const GURL& origin,
136 FileSystemType type, 136 FileSystemType type,
137 base::FilePath* usage_file_path) { 137 base::FilePath* usage_file_path) {
138 DCHECK(file_task_runner_->RunsTasksOnCurrentThread()); 138 DCHECK(file_task_runner_->RunsTasksOnCurrentThread());
139 DCHECK(origin.is_valid()); 139 DCHECK(origin.is_valid());
140 DCHECK(usage_file_path); 140 DCHECK(usage_file_path);
141 base::PlatformFileError error = base::PLATFORM_FILE_OK; 141 base::File::Error error = base::File::FILE_OK;
142 *usage_file_path = 142 *usage_file_path =
143 SandboxFileSystemBackendDelegate::GetUsageCachePathForOriginAndType( 143 SandboxFileSystemBackendDelegate::GetUsageCachePathForOriginAndType(
144 obfuscated_file_util_, origin, type, &error); 144 obfuscated_file_util_, origin, type, &error);
145 return error; 145 return error;
146 } 146 }
147 147
148 QuotaBackendImpl::QuotaReservationInfo::QuotaReservationInfo( 148 QuotaBackendImpl::QuotaReservationInfo::QuotaReservationInfo(
149 const GURL& origin, FileSystemType type, int64 delta) 149 const GURL& origin, FileSystemType type, int64 delta)
150 : origin(origin), type(type), delta(delta) { 150 : origin(origin), type(type), delta(delta) {
151 } 151 }
152 152
153 QuotaBackendImpl::QuotaReservationInfo::~QuotaReservationInfo() { 153 QuotaBackendImpl::QuotaReservationInfo::~QuotaReservationInfo() {
154 } 154 }
155 155
156 } // namespace fileapi 156 } // namespace fileapi
OLDNEW
« no previous file with comments | « webkit/browser/fileapi/quota/quota_backend_impl.h ('k') | webkit/browser/fileapi/quota/quota_backend_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698