blob: 86cfdcae155e53f5e219983deb11683a25136b79 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/browser/dom_storage/test/fake_leveldb_service.h"
namespace content {
namespace test {
FakeLevelDBService::OpenRequest::OpenRequest() = default;
FakeLevelDBService::OpenRequest::OpenRequest(OpenRequest&&) = default;
FakeLevelDBService::OpenRequest::OpenRequest(
bool in_memory,
std::string dbname,
std::string memenv_tracking_name,
leveldb::mojom::LevelDBDatabaseAssociatedRequest request,
OpenCallback callback)
: in_memory(in_memory),
dbname(std::move(dbname)),
memenv_tracking_name(std::move(memenv_tracking_name)),
request(std::move(request)),
callback(std::move(callback)) {}
FakeLevelDBService::OpenRequest::~OpenRequest() = default;
FakeLevelDBService::FakeLevelDBService() = default;
FakeLevelDBService::~FakeLevelDBService() = default;
void FakeLevelDBService::Open(
filesystem::mojom::DirectoryPtr,
const std::string& dbname,
const base::Optional<base::trace_event::MemoryAllocatorDumpGuid>&
memory_dump_id,
leveldb::mojom::LevelDBDatabaseAssociatedRequest request,
OpenCallback callback) {
open_requests_.emplace_back(false, dbname, "", std::move(request),
std::move(callback));
if (on_open_callback_)
std::move(on_open_callback_).Run();
}
void FakeLevelDBService::OpenWithOptions(
const leveldb_env::Options& options,
filesystem::mojom::DirectoryPtr,
const std::string& dbname,
const base::Optional<base::trace_event::MemoryAllocatorDumpGuid>&
memory_dump_id,
leveldb::mojom::LevelDBDatabaseAssociatedRequest request,
OpenCallback callback) {
open_requests_.emplace_back(false, dbname, "", std::move(request),
std::move(callback));
if (on_open_callback_)
std::move(on_open_callback_).Run();
}
void FakeLevelDBService::OpenInMemory(
const base::Optional<base::trace_event::MemoryAllocatorDumpGuid>&
memory_dump_id,
const std::string& tracking_name,
leveldb::mojom::LevelDBDatabaseAssociatedRequest request,
OpenCallback callback) {
open_requests_.emplace_back(true, "", tracking_name, std::move(request),
std::move(callback));
if (on_open_callback_)
std::move(on_open_callback_).Run();
}
void FakeLevelDBService::Destroy(filesystem::mojom::DirectoryPtr,
const std::string& dbname,
DestroyCallback callback) {
destroy_requests_.push_back({dbname});
std::move(callback).Run(leveldb::mojom::DatabaseError::OK);
}
void FakeLevelDBService::Bind(
const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe,
const service_manager::BindSourceInfo& source_info) {
bindings_.AddBinding(
this, leveldb::mojom::LevelDBServiceRequest(std::move(interface_pipe)));
}
void FakeLevelDBService::FlushBindingsForTesting() {
bindings_.FlushForTesting();
}
} // namespace test
} // namespace content