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

Side by Side Diff: webkit/browser/database/database_quota_client.cc

Issue 16155009: Update webkit/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/database/database_quota_client.h" 5 #include "webkit/browser/database/database_quota_client.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 94
95 } // namespace 95 } // namespace
96 96
97 DatabaseQuotaClient::DatabaseQuotaClient( 97 DatabaseQuotaClient::DatabaseQuotaClient(
98 base::MessageLoopProxy* db_tracker_thread, 98 base::MessageLoopProxy* db_tracker_thread,
99 DatabaseTracker* db_tracker) 99 DatabaseTracker* db_tracker)
100 : db_tracker_thread_(db_tracker_thread), db_tracker_(db_tracker) { 100 : db_tracker_thread_(db_tracker_thread), db_tracker_(db_tracker) {
101 } 101 }
102 102
103 DatabaseQuotaClient::~DatabaseQuotaClient() { 103 DatabaseQuotaClient::~DatabaseQuotaClient() {
104 if (db_tracker_thread_ && 104 if (db_tracker_thread_.get() &&
105 !db_tracker_thread_->RunsTasksOnCurrentThread() && 105 !db_tracker_thread_->RunsTasksOnCurrentThread() && db_tracker_.get()) {
106 db_tracker_) { 106 DatabaseTracker* tracker = db_tracker_.get();
107 DatabaseTracker* tracker = db_tracker_;
108 tracker->AddRef(); 107 tracker->AddRef();
109 db_tracker_ = NULL; 108 db_tracker_ = NULL;
110 if (!db_tracker_thread_->ReleaseSoon(FROM_HERE, tracker)) 109 if (!db_tracker_thread_->ReleaseSoon(FROM_HERE, tracker))
111 tracker->Release(); 110 tracker->Release();
112 } 111 }
113 } 112 }
114 113
115 QuotaClient::ID DatabaseQuotaClient::id() const { 114 QuotaClient::ID DatabaseQuotaClient::id() const {
116 return kDatabase; 115 return kDatabase;
117 } 116 }
118 117
119 void DatabaseQuotaClient::OnQuotaManagerDestroyed() { 118 void DatabaseQuotaClient::OnQuotaManagerDestroyed() {
120 delete this; 119 delete this;
121 } 120 }
122 121
123 void DatabaseQuotaClient::GetOriginUsage( 122 void DatabaseQuotaClient::GetOriginUsage(
124 const GURL& origin_url, 123 const GURL& origin_url,
125 quota::StorageType type, 124 quota::StorageType type,
126 const GetUsageCallback& callback) { 125 const GetUsageCallback& callback) {
127 DCHECK(!callback.is_null()); 126 DCHECK(!callback.is_null());
128 DCHECK(db_tracker_.get()); 127 DCHECK(db_tracker_.get());
129 128
130 // All databases are in the temp namespace for now. 129 // All databases are in the temp namespace for now.
131 if (type != quota::kStorageTypeTemporary) { 130 if (type != quota::kStorageTypeTemporary) {
132 callback.Run(0); 131 callback.Run(0);
133 return; 132 return;
134 } 133 }
135 134
136 base::PostTaskAndReplyWithResult( 135 base::PostTaskAndReplyWithResult(
137 db_tracker_thread_, 136 db_tracker_thread_.get(),
138 FROM_HERE, 137 FROM_HERE,
139 base::Bind(&GetOriginUsageOnDBThread, 138 base::Bind(&GetOriginUsageOnDBThread, db_tracker_, origin_url),
140 db_tracker_,
141 origin_url),
142 callback); 139 callback);
143 } 140 }
144 141
145 void DatabaseQuotaClient::GetOriginsForType( 142 void DatabaseQuotaClient::GetOriginsForType(
146 quota::StorageType type, 143 quota::StorageType type,
147 const GetOriginsCallback& callback) { 144 const GetOriginsCallback& callback) {
148 DCHECK(!callback.is_null()); 145 DCHECK(!callback.is_null());
149 DCHECK(db_tracker_.get()); 146 DCHECK(db_tracker_.get());
150 147
151 // All databases are in the temp namespace for now. 148 // All databases are in the temp namespace for now.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 callback.Run(quota::kQuotaStatusOk); 199 callback.Run(quota::kQuotaStatusOk);
203 return; 200 return;
204 } 201 }
205 202
206 base::Callback<void(int)> delete_callback = 203 base::Callback<void(int)> delete_callback =
207 base::Bind(&DidDeleteOriginData, 204 base::Bind(&DidDeleteOriginData,
208 base::MessageLoopProxy::current(), 205 base::MessageLoopProxy::current(),
209 callback); 206 callback);
210 207
211 PostTaskAndReplyWithResult( 208 PostTaskAndReplyWithResult(
212 db_tracker_thread_, 209 db_tracker_thread_.get(),
213 FROM_HERE, 210 FROM_HERE,
214 base::Bind(&DatabaseTracker::DeleteDataForOrigin, 211 base::Bind(&DatabaseTracker::DeleteDataForOrigin,
215 db_tracker_, 212 db_tracker_,
216 webkit_base::GetOriginIdentifierFromURL(origin), 213 webkit_base::GetOriginIdentifierFromURL(origin),
217 delete_callback), 214 delete_callback),
218 delete_callback); 215 delete_callback);
219 } 216 }
220 217
221 } // namespace webkit_database 218 } // namespace webkit_database
OLDNEW
« no previous file with comments | « webkit/browser/blob/view_blob_internals_job.cc ('k') | webkit/browser/database/database_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698