#include "content/browser/indexed_db/mock_browsertest_indexed_db_class_factory.h"
#include <stddef.h>
#include <string>
#include <string_view>
#include <utility>
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/task/sequenced_task_runner.h"
#include "components/services/storage/indexed_db/scopes/leveldb_scope.h"
#include "components/services/storage/indexed_db/scopes/leveldb_scopes.h"
#include "components/services/storage/indexed_db/transactional_leveldb/transactional_leveldb_database.h"
#include "components/services/storage/indexed_db/transactional_leveldb/transactional_leveldb_iterator.h"
#include "components/services/storage/indexed_db/transactional_leveldb/transactional_leveldb_transaction.h"
#include "content/browser/indexed_db/indexed_db_transaction.h"
#include "third_party/leveldatabase/env_chromium.h"
#include "third_party/leveldatabase/src/include/leveldb/status.h"
FailClass;
FailMethod;
namespace {
class FunctionTracer { … };
}
namespace content {
class LevelDBTestDatabase : public TransactionalLevelDBDatabase { … };
class LevelDBTestDirectTransaction : public LevelDBDirectTransaction { … };
class LevelDBTestTransaction : public TransactionalLevelDBTransaction { … };
class LevelDBTraceTransaction : public TransactionalLevelDBTransaction { … };
class LevelDBTraceIterator : public TransactionalLevelDBIterator { … };
class LevelDBTestIterator : public content::TransactionalLevelDBIterator { … };
MockBrowserTestIndexedDBClassFactory::MockBrowserTestIndexedDBClassFactory(
mojo::PendingReceiver<storage::mojom::MockFailureInjector> pending)
: … { … }
MockBrowserTestIndexedDBClassFactory::~MockBrowserTestIndexedDBClassFactory() =
default;
std::unique_ptr<TransactionalLevelDBDatabase>
MockBrowserTestIndexedDBClassFactory::CreateLevelDBDatabase(
scoped_refptr<LevelDBState> state,
std::unique_ptr<LevelDBScopes> scopes,
scoped_refptr<base::SequencedTaskRunner> task_runner,
size_t max_open_iterators) { … }
std::unique_ptr<LevelDBDirectTransaction>
MockBrowserTestIndexedDBClassFactory::CreateLevelDBDirectTransaction(
TransactionalLevelDBDatabase* db) { … }
scoped_refptr<TransactionalLevelDBTransaction>
MockBrowserTestIndexedDBClassFactory::CreateLevelDBTransaction(
TransactionalLevelDBDatabase* db,
std::unique_ptr<LevelDBScope> scope) { … }
std::unique_ptr<TransactionalLevelDBIterator>
MockBrowserTestIndexedDBClassFactory::CreateIterator(
std::unique_ptr<leveldb::Iterator> iterator,
base::WeakPtr<TransactionalLevelDBDatabase> db,
base::WeakPtr<TransactionalLevelDBTransaction> txn,
std::unique_ptr<LevelDBSnapshot> snapshot) { … }
void MockBrowserTestIndexedDBClassFactory::FailOperation(
storage::mojom::FailClass failure_class,
storage::mojom::FailMethod failure_method,
int fail_on_instance_num,
int fail_on_call_num) { … }
}