| Index: components/leveldb/leveldb_service_impl.cc
|
| diff --git a/components/leveldb/leveldb_service_impl.cc b/components/leveldb/leveldb_service_impl.cc
|
| index 587a78edcba8b80ae4d239fd69e999ee04f361e9..6df7ad0b9cc738dc6ef6b73eb7ef6999e3e7c874 100644
|
| --- a/components/leveldb/leveldb_service_impl.cc
|
| +++ b/components/leveldb/leveldb_service_impl.cc
|
| @@ -10,6 +10,7 @@
|
| #include "components/leveldb/env_mojo.h"
|
| #include "components/leveldb/leveldb_database_impl.h"
|
| #include "components/leveldb/public/cpp/util.h"
|
| +#include "mojo/public/cpp/bindings/strong_binding.h"
|
| #include "third_party/leveldatabase/env_chromium.h"
|
| #include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
|
| #include "third_party/leveldatabase/src/include/leveldb/db.h"
|
| @@ -60,8 +61,9 @@ void LevelDBServiceImpl::OpenWithOptions(
|
| leveldb::Status s = leveldb::DB::Open(options, dbname, &db);
|
|
|
| if (s.ok()) {
|
| - new LevelDBDatabaseImpl(std::move(database), std::move(env_mojo),
|
| - base::WrapUnique(db));
|
| + mojo::MakeStrongBinding(base::MakeUnique<LevelDBDatabaseImpl>(
|
| + std::move(env_mojo), base::WrapUnique(db)),
|
| + std::move(database));
|
| }
|
|
|
| callback.Run(LeveldbStatusToError(s));
|
| @@ -82,8 +84,9 @@ void LevelDBServiceImpl::OpenInMemory(
|
| leveldb::Status s = leveldb::DB::Open(options, "", &db);
|
|
|
| if (s.ok()) {
|
| - new LevelDBDatabaseImpl(std::move(database), std::move(env),
|
| - base::WrapUnique(db));
|
| + mojo::MakeStrongBinding(base::MakeUnique<LevelDBDatabaseImpl>(
|
| + std::move(env), base::WrapUnique(db)),
|
| + std::move(database));
|
| }
|
|
|
| callback.Run(LeveldbStatusToError(s));
|
|
|