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

Unified Diff: content/browser/indexed_db/indexed_db_class_factory.cc

Issue 2233153002: IndexedDB: WrapUnique(new T(args..)) -> MakeUnique<T>(args...) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review feedback 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/indexed_db/indexed_db_class_factory.cc
diff --git a/content/browser/indexed_db/indexed_db_class_factory.cc b/content/browser/indexed_db/indexed_db_class_factory.cc
index 3189b2d7f121bd684ce6be70135ba0059784f806..b1a7fce34e941f5f8c626c172b255073cfa5f14f 100644
--- a/content/browser/indexed_db/indexed_db_class_factory.cc
+++ b/content/browser/indexed_db/indexed_db_class_factory.cc
@@ -6,6 +6,7 @@
#include <utility>
+#include "base/memory/ptr_util.h"
#include "content/browser/indexed_db/indexed_db_transaction.h"
#include "content/browser/indexed_db/leveldb/leveldb_iterator_impl.h"
#include "content/browser/indexed_db/leveldb/leveldb_transaction.h"
@@ -27,7 +28,7 @@ IndexedDBClassFactory* IndexedDBClassFactory::Get() {
return s_factory.Pointer();
}
-IndexedDBDatabase* IndexedDBClassFactory::CreateIndexedDBDatabase(
+scoped_refptr<IndexedDBDatabase> IndexedDBClassFactory::CreateIndexedDBDatabase(
const base::string16& name,
IndexedDBBackingStore* backing_store,
IndexedDBFactory* factory,
@@ -41,18 +42,21 @@ IndexedDBTransaction* IndexedDBClassFactory::CreateIndexedDBTransaction(
const std::set<int64_t>& scope,
blink::WebIDBTransactionMode mode,
IndexedDBBackingStore::Transaction* backing_store_transaction) {
- return new IndexedDBTransaction(id, std::move(connection), scope, mode,
- backing_store_transaction);
+ // The transaction adds itself to |connection|'s database's transaction
+ // coordinator, which owns the object.
+ IndexedDBTransaction* transaction = new IndexedDBTransaction(
+ id, std::move(connection), scope, mode, backing_store_transaction);
+ return transaction;
}
-LevelDBTransaction* IndexedDBClassFactory::CreateLevelDBTransaction(
- LevelDBDatabase* db) {
+scoped_refptr<LevelDBTransaction>
+IndexedDBClassFactory::CreateLevelDBTransaction(LevelDBDatabase* db) {
return new LevelDBTransaction(db);
}
-content::LevelDBIteratorImpl* IndexedDBClassFactory::CreateIteratorImpl(
+std::unique_ptr<LevelDBIteratorImpl> IndexedDBClassFactory::CreateIteratorImpl(
std::unique_ptr<leveldb::Iterator> iterator) {
- return new LevelDBIteratorImpl(std::move(iterator));
+ return base::WrapUnique(new LevelDBIteratorImpl(std::move(iterator)));
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698