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

Side by Side Diff: content/browser/notifications/notification_database.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "content/browser/notifications/notification_database.h" 5 #include "content/browser/notifications/notification_database.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 DLOG(ERROR) << "Unable to deserialize a notification's data."; 94 DLOG(ERROR) << "Unable to deserialize a notification's data.";
95 return NotificationDatabase::STATUS_ERROR_CORRUPTED; 95 return NotificationDatabase::STATUS_ERROR_CORRUPTED;
96 } 96 }
97 97
98 } // namespace 98 } // namespace
99 99
100 NotificationDatabase::NotificationDatabase(const base::FilePath& path) 100 NotificationDatabase::NotificationDatabase(const base::FilePath& path)
101 : path_(path) {} 101 : path_(path) {}
102 102
103 NotificationDatabase::~NotificationDatabase() { 103 NotificationDatabase::~NotificationDatabase() {
104 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 104 DCHECK(sequence_checker_.CalledOnValidSequence());
105 } 105 }
106 106
107 NotificationDatabase::Status NotificationDatabase::Open( 107 NotificationDatabase::Status NotificationDatabase::Open(
108 bool create_if_missing) { 108 bool create_if_missing) {
109 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 109 DCHECK(sequence_checker_.CalledOnValidSequence());
110 DCHECK_EQ(STATE_UNINITIALIZED, state_); 110 DCHECK_EQ(STATE_UNINITIALIZED, state_);
111 111
112 if (!create_if_missing) { 112 if (!create_if_missing) {
113 if (IsInMemoryDatabase() || !base::PathExists(path_) || 113 if (IsInMemoryDatabase() || !base::PathExists(path_) ||
114 base::IsDirectoryEmpty(path_)) { 114 base::IsDirectoryEmpty(path_)) {
115 return NotificationDatabase::STATUS_ERROR_NOT_FOUND; 115 return NotificationDatabase::STATUS_ERROR_NOT_FOUND;
116 } 116 }
117 } 117 }
118 118
119 filter_policy_.reset(leveldb::NewBloomFilterPolicy(10)); 119 filter_policy_.reset(leveldb::NewBloomFilterPolicy(10));
(...skipping 17 matching lines...) Expand all
137 state_ = STATE_INITIALIZED; 137 state_ = STATE_INITIALIZED;
138 db_.reset(db); 138 db_.reset(db);
139 139
140 return ReadNextNotificationId(); 140 return ReadNextNotificationId();
141 } 141 }
142 142
143 NotificationDatabase::Status NotificationDatabase::ReadNotificationData( 143 NotificationDatabase::Status NotificationDatabase::ReadNotificationData(
144 int64_t notification_id, 144 int64_t notification_id,
145 const GURL& origin, 145 const GURL& origin,
146 NotificationDatabaseData* notification_database_data) const { 146 NotificationDatabaseData* notification_database_data) const {
147 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 147 DCHECK(sequence_checker_.CalledOnValidSequence());
148 DCHECK_EQ(STATE_INITIALIZED, state_); 148 DCHECK_EQ(STATE_INITIALIZED, state_);
149 DCHECK_GE(notification_id, kFirstNotificationId); 149 DCHECK_GE(notification_id, kFirstNotificationId);
150 DCHECK(origin.is_valid()); 150 DCHECK(origin.is_valid());
151 DCHECK(notification_database_data); 151 DCHECK(notification_database_data);
152 152
153 std::string key = CreateDataKey(origin, notification_id); 153 std::string key = CreateDataKey(origin, notification_id);
154 std::string serialized_data; 154 std::string serialized_data;
155 155
156 Status status = LevelDBStatusToStatus( 156 Status status = LevelDBStatusToStatus(
157 db_->Get(leveldb::ReadOptions(), key, &serialized_data)); 157 db_->Get(leveldb::ReadOptions(), key, &serialized_data));
(...skipping 25 matching lines...) Expand all
183 int64_t service_worker_registration_id, 183 int64_t service_worker_registration_id,
184 std::vector<NotificationDatabaseData>* notification_data_vector) const { 184 std::vector<NotificationDatabaseData>* notification_data_vector) const {
185 return ReadAllNotificationDataInternal(origin, service_worker_registration_id, 185 return ReadAllNotificationDataInternal(origin, service_worker_registration_id,
186 notification_data_vector); 186 notification_data_vector);
187 } 187 }
188 188
189 NotificationDatabase::Status NotificationDatabase::WriteNotificationData( 189 NotificationDatabase::Status NotificationDatabase::WriteNotificationData(
190 const GURL& origin, 190 const GURL& origin,
191 const NotificationDatabaseData& notification_database_data, 191 const NotificationDatabaseData& notification_database_data,
192 int64_t* notification_id) { 192 int64_t* notification_id) {
193 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 193 DCHECK(sequence_checker_.CalledOnValidSequence());
194 DCHECK_EQ(STATE_INITIALIZED, state_); 194 DCHECK_EQ(STATE_INITIALIZED, state_);
195 DCHECK(notification_id); 195 DCHECK(notification_id);
196 DCHECK(origin.is_valid()); 196 DCHECK(origin.is_valid());
197 197
198 DCHECK_GE(next_notification_id_, kFirstNotificationId); 198 DCHECK_GE(next_notification_id_, kFirstNotificationId);
199 199
200 NotificationDatabaseData storage_data = notification_database_data; 200 NotificationDatabaseData storage_data = notification_database_data;
201 storage_data.notification_id = next_notification_id_; 201 storage_data.notification_id = next_notification_id_;
202 202
203 std::string serialized_data; 203 std::string serialized_data;
(...skipping 13 matching lines...) Expand all
217 if (status != STATUS_OK) 217 if (status != STATUS_OK)
218 return status; 218 return status;
219 219
220 *notification_id = next_notification_id_++; 220 *notification_id = next_notification_id_++;
221 return STATUS_OK; 221 return STATUS_OK;
222 } 222 }
223 223
224 NotificationDatabase::Status NotificationDatabase::DeleteNotificationData( 224 NotificationDatabase::Status NotificationDatabase::DeleteNotificationData(
225 int64_t notification_id, 225 int64_t notification_id,
226 const GURL& origin) { 226 const GURL& origin) {
227 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 227 DCHECK(sequence_checker_.CalledOnValidSequence());
228 DCHECK_EQ(STATE_INITIALIZED, state_); 228 DCHECK_EQ(STATE_INITIALIZED, state_);
229 DCHECK_GE(notification_id, kFirstNotificationId); 229 DCHECK_GE(notification_id, kFirstNotificationId);
230 DCHECK(origin.is_valid()); 230 DCHECK(origin.is_valid());
231 231
232 std::string key = CreateDataKey(origin, notification_id); 232 std::string key = CreateDataKey(origin, notification_id);
233 return LevelDBStatusToStatus(db_->Delete(leveldb::WriteOptions(), key)); 233 return LevelDBStatusToStatus(db_->Delete(leveldb::WriteOptions(), key));
234 } 234 }
235 235
236 NotificationDatabase::Status 236 NotificationDatabase::Status
237 NotificationDatabase::DeleteAllNotificationDataForOrigin( 237 NotificationDatabase::DeleteAllNotificationDataForOrigin(
238 const GURL& origin, 238 const GURL& origin,
239 std::set<int64_t>* deleted_notification_set) { 239 std::set<int64_t>* deleted_notification_set) {
240 return DeleteAllNotificationDataInternal( 240 return DeleteAllNotificationDataInternal(
241 origin, kInvalidServiceWorkerRegistrationId, deleted_notification_set); 241 origin, kInvalidServiceWorkerRegistrationId, deleted_notification_set);
242 } 242 }
243 243
244 NotificationDatabase::Status 244 NotificationDatabase::Status
245 NotificationDatabase::DeleteAllNotificationDataForServiceWorkerRegistration( 245 NotificationDatabase::DeleteAllNotificationDataForServiceWorkerRegistration(
246 const GURL& origin, 246 const GURL& origin,
247 int64_t service_worker_registration_id, 247 int64_t service_worker_registration_id,
248 std::set<int64_t>* deleted_notification_set) { 248 std::set<int64_t>* deleted_notification_set) {
249 return DeleteAllNotificationDataInternal( 249 return DeleteAllNotificationDataInternal(
250 origin, service_worker_registration_id, deleted_notification_set); 250 origin, service_worker_registration_id, deleted_notification_set);
251 } 251 }
252 252
253 NotificationDatabase::Status NotificationDatabase::Destroy() { 253 NotificationDatabase::Status NotificationDatabase::Destroy() {
254 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 254 DCHECK(sequence_checker_.CalledOnValidSequence());
255 255
256 leveldb::Options options; 256 leveldb::Options options;
257 if (IsInMemoryDatabase()) { 257 if (IsInMemoryDatabase()) {
258 if (!env_) 258 if (!env_)
259 return STATUS_OK; // The database has not been initialized. 259 return STATUS_OK; // The database has not been initialized.
260 260
261 options.env = env_.get(); 261 options.env = env_.get();
262 } 262 }
263 263
264 state_ = STATE_DISABLED; 264 state_ = STATE_DISABLED;
(...skipping 22 matching lines...) Expand all
287 } 287 }
288 288
289 return STATUS_OK; 289 return STATUS_OK;
290 } 290 }
291 291
292 NotificationDatabase::Status 292 NotificationDatabase::Status
293 NotificationDatabase::ReadAllNotificationDataInternal( 293 NotificationDatabase::ReadAllNotificationDataInternal(
294 const GURL& origin, 294 const GURL& origin,
295 int64_t service_worker_registration_id, 295 int64_t service_worker_registration_id,
296 std::vector<NotificationDatabaseData>* notification_data_vector) const { 296 std::vector<NotificationDatabaseData>* notification_data_vector) const {
297 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 297 DCHECK(sequence_checker_.CalledOnValidSequence());
298 DCHECK(notification_data_vector); 298 DCHECK(notification_data_vector);
299 299
300 const std::string prefix = CreateDataPrefix(origin); 300 const std::string prefix = CreateDataPrefix(origin);
301 301
302 leveldb::Slice prefix_slice(prefix); 302 leveldb::Slice prefix_slice(prefix);
303 303
304 NotificationDatabaseData notification_database_data; 304 NotificationDatabaseData notification_database_data;
305 std::unique_ptr<leveldb::Iterator> iter( 305 std::unique_ptr<leveldb::Iterator> iter(
306 db_->NewIterator(leveldb::ReadOptions())); 306 db_->NewIterator(leveldb::ReadOptions()));
307 for (iter->Seek(prefix_slice); iter->Valid(); iter->Next()) { 307 for (iter->Seek(prefix_slice); iter->Valid(); iter->Next()) {
(...skipping 15 matching lines...) Expand all
323 } 323 }
324 324
325 return LevelDBStatusToStatus(iter->status()); 325 return LevelDBStatusToStatus(iter->status());
326 } 326 }
327 327
328 NotificationDatabase::Status 328 NotificationDatabase::Status
329 NotificationDatabase::DeleteAllNotificationDataInternal( 329 NotificationDatabase::DeleteAllNotificationDataInternal(
330 const GURL& origin, 330 const GURL& origin,
331 int64_t service_worker_registration_id, 331 int64_t service_worker_registration_id,
332 std::set<int64_t>* deleted_notification_set) { 332 std::set<int64_t>* deleted_notification_set) {
333 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); 333 DCHECK(sequence_checker_.CalledOnValidSequence());
334 DCHECK(deleted_notification_set); 334 DCHECK(deleted_notification_set);
335 DCHECK(origin.is_valid()); 335 DCHECK(origin.is_valid());
336 336
337 const std::string prefix = CreateDataPrefix(origin); 337 const std::string prefix = CreateDataPrefix(origin);
338 338
339 leveldb::Slice prefix_slice(prefix); 339 leveldb::Slice prefix_slice(prefix);
340 leveldb::WriteBatch batch; 340 leveldb::WriteBatch batch;
341 341
342 NotificationDatabaseData notification_database_data; 342 NotificationDatabaseData notification_database_data;
343 std::unique_ptr<leveldb::Iterator> iter( 343 std::unique_ptr<leveldb::Iterator> iter(
(...skipping 27 matching lines...) Expand all
371 batch.Delete(iter->key()); 371 batch.Delete(iter->key());
372 } 372 }
373 373
374 if (deleted_notification_set->empty()) 374 if (deleted_notification_set->empty())
375 return STATUS_OK; 375 return STATUS_OK;
376 376
377 return LevelDBStatusToStatus(db_->Write(leveldb::WriteOptions(), &batch)); 377 return LevelDBStatusToStatus(db_->Write(leveldb::WriteOptions(), &batch));
378 } 378 }
379 379
380 } // namespace content 380 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698