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

Side by Side Diff: content/browser/dom_storage/session_storage_database.cc

Issue 1874893002: Convert //content/browser from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 "content/browser/dom_storage/session_storage_database.h" 5 #include "content/browser/dom_storage/session_storage_database.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 return false; 269 return false;
270 DBOperation operation(this); 270 DBOperation operation(this);
271 271
272 // While ReadNamespacesAndOrigins is in progress, another thread can call 272 // While ReadNamespacesAndOrigins is in progress, another thread can call
273 // CommitAreaChanges. To protect the reading operation, create a snapshot and 273 // CommitAreaChanges. To protect the reading operation, create a snapshot and
274 // read from it. 274 // read from it.
275 leveldb::ReadOptions options; 275 leveldb::ReadOptions options;
276 options.snapshot = db_->GetSnapshot(); 276 options.snapshot = db_->GetSnapshot();
277 277
278 std::string namespace_prefix = NamespacePrefix(); 278 std::string namespace_prefix = NamespacePrefix();
279 scoped_ptr<leveldb::Iterator> it(db_->NewIterator(options)); 279 std::unique_ptr<leveldb::Iterator> it(db_->NewIterator(options));
280 it->Seek(namespace_prefix); 280 it->Seek(namespace_prefix);
281 // If the key is not found, the status of the iterator won't be IsNotFound(), 281 // If the key is not found, the status of the iterator won't be IsNotFound(),
282 // but the iterator will be invalid. 282 // but the iterator will be invalid.
283 if (!it->Valid()) { 283 if (!it->Valid()) {
284 db_->ReleaseSnapshot(options.snapshot); 284 db_->ReleaseSnapshot(options.snapshot);
285 return true; 285 return true;
286 } 286 }
287 287
288 if (!DatabaseErrorCheck(it->status().ok())) { 288 if (!DatabaseErrorCheck(it->status().ok())) {
289 db_->ReleaseSnapshot(options.snapshot); 289 db_->ReleaseSnapshot(options.snapshot);
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 batch->Put(namespace_start_key, ""); 440 batch->Put(namespace_start_key, "");
441 return true; 441 return true;
442 } 442 }
443 return CallerErrorCheck(ok_if_exists); 443 return CallerErrorCheck(ok_if_exists);
444 } 444 }
445 445
446 bool SessionStorageDatabase::GetAreasInNamespace( 446 bool SessionStorageDatabase::GetAreasInNamespace(
447 const std::string& namespace_id, 447 const std::string& namespace_id,
448 std::map<std::string, std::string>* areas) { 448 std::map<std::string, std::string>* areas) {
449 std::string namespace_start_key = NamespaceStartKey(namespace_id); 449 std::string namespace_start_key = NamespaceStartKey(namespace_id);
450 scoped_ptr<leveldb::Iterator> it(db_->NewIterator(leveldb::ReadOptions())); 450 std::unique_ptr<leveldb::Iterator> it(
451 db_->NewIterator(leveldb::ReadOptions()));
451 it->Seek(namespace_start_key); 452 it->Seek(namespace_start_key);
452 // If the key is not found, the status of the iterator won't be IsNotFound(), 453 // If the key is not found, the status of the iterator won't be IsNotFound(),
453 // but the iterator will be invalid. 454 // but the iterator will be invalid.
454 if (!it->Valid()) { 455 if (!it->Valid()) {
455 // The namespace_start_key is not found when the namespace doesn't contain 456 // The namespace_start_key is not found when the namespace doesn't contain
456 // any areas. We don't need to do anything. 457 // any areas. We don't need to do anything.
457 return true; 458 return true;
458 } 459 }
459 if (!DatabaseErrorCheck(it->status().ok())) 460 if (!DatabaseErrorCheck(it->status().ok()))
460 return false; 461 return false;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 if (!exists) 494 if (!exists)
494 return true; // Nothing to delete. 495 return true; // Nothing to delete.
495 if (!DecreaseMapRefCount(map_id, 1, batch)) 496 if (!DecreaseMapRefCount(map_id, 1, batch))
496 return false; 497 return false;
497 std::string namespace_key = NamespaceKey(namespace_id, origin); 498 std::string namespace_key = NamespaceKey(namespace_id, origin);
498 batch->Delete(namespace_key); 499 batch->Delete(namespace_key);
499 500
500 // If this was the only area in the namespace, delete the namespace start key, 501 // If this was the only area in the namespace, delete the namespace start key,
501 // too. 502 // too.
502 std::string namespace_start_key = NamespaceStartKey(namespace_id); 503 std::string namespace_start_key = NamespaceStartKey(namespace_id);
503 scoped_ptr<leveldb::Iterator> it(db_->NewIterator(leveldb::ReadOptions())); 504 std::unique_ptr<leveldb::Iterator> it(
505 db_->NewIterator(leveldb::ReadOptions()));
504 it->Seek(namespace_start_key); 506 it->Seek(namespace_start_key);
505 if (!ConsistencyCheck(it->Valid())) 507 if (!ConsistencyCheck(it->Valid()))
506 return false; 508 return false;
507 // Advance the iterator 2 times (we still haven't really deleted 509 // Advance the iterator 2 times (we still haven't really deleted
508 // namespace_key). 510 // namespace_key).
509 it->Next(); 511 it->Next();
510 if (!ConsistencyCheck(it->Valid())) 512 if (!ConsistencyCheck(it->Valid()))
511 return false; 513 return false;
512 it->Next(); 514 it->Next();
513 if (!it->Valid()) 515 if (!it->Valid())
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 std::string namespace_key = NamespaceKey(namespace_id, origin.spec()); 554 std::string namespace_key = NamespaceKey(namespace_id, origin.spec());
553 batch->Put(namespace_key, *map_id); 555 batch->Put(namespace_key, *map_id);
554 batch->Put(MapRefCountKey(*map_id), "1"); 556 batch->Put(MapRefCountKey(*map_id), "1");
555 return true; 557 return true;
556 } 558 }
557 559
558 bool SessionStorageDatabase::ReadMap(const std::string& map_id, 560 bool SessionStorageDatabase::ReadMap(const std::string& map_id,
559 const leveldb::ReadOptions& options, 561 const leveldb::ReadOptions& options,
560 DOMStorageValuesMap* result, 562 DOMStorageValuesMap* result,
561 bool only_keys) { 563 bool only_keys) {
562 scoped_ptr<leveldb::Iterator> it(db_->NewIterator(options)); 564 std::unique_ptr<leveldb::Iterator> it(db_->NewIterator(options));
563 std::string map_start_key = MapRefCountKey(map_id); 565 std::string map_start_key = MapRefCountKey(map_id);
564 it->Seek(map_start_key); 566 it->Seek(map_start_key);
565 // If the key is not found, the status of the iterator won't be IsNotFound(), 567 // If the key is not found, the status of the iterator won't be IsNotFound(),
566 // but the iterator will be invalid. The map needs to exist, otherwise we have 568 // but the iterator will be invalid. The map needs to exist, otherwise we have
567 // a stale map_id in the database. 569 // a stale map_id in the database.
568 if (!ConsistencyCheck(it->Valid())) 570 if (!ConsistencyCheck(it->Valid()))
569 return false; 571 return false;
570 if (!DatabaseErrorCheck(it->status().ok())) 572 if (!DatabaseErrorCheck(it->status().ok()))
571 return false; 573 return false;
572 // Skip the dummy entry "map-<mapid>-". 574 // Skip the dummy entry "map-<mapid>-".
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 std::string SessionStorageDatabase::MapKey(const std::string& map_id, 728 std::string SessionStorageDatabase::MapKey(const std::string& map_id,
727 const std::string& key) { 729 const std::string& key) {
728 return base::StringPrintf("map-%s-%s", map_id.c_str(), key.c_str()); 730 return base::StringPrintf("map-%s-%s", map_id.c_str(), key.c_str());
729 } 731 }
730 732
731 const char* SessionStorageDatabase::NextMapIdKey() { 733 const char* SessionStorageDatabase::NextMapIdKey() {
732 return "next-map-id"; 734 return "next-map-id";
733 } 735 }
734 736
735 } // namespace content 737 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698