chromium/components/webdata/common/web_database_backend.h

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_WEBDATA_COMMON_WEB_DATABASE_BACKEND_H_
#define COMPONENTS_WEBDATA_COMMON_WEB_DATABASE_BACKEND_H_

#include <memory>
#include <vector>

#include "base/compiler_specific.h"
#include "base/files/file_path.h"
#include "base/functional/callback_forward.h"
#include "base/memory/ref_counted.h"
#include "base/memory/ref_counted_delete_on_sequence.h"
#include "base/sequence_checker.h"
#include "components/webdata/common/web_data_request_manager.h"
#include "components/webdata/common/web_database_service.h"
#include "components/webdata/common/webdata_export.h"

class WebDatabase;
class WebDatabaseTable;
class WebDataRequest;
class WebDataRequestManager;
class WebDatabaseService;

namespace base {
class SequencedTaskRunner;
}

// `WebDatabaseBackend` handles all database tasks posted by
// `WebDatabaseService`. It is refcounted to allow asynchronous destruction on
// the DB thread.

class WEBDATA_EXPORT WebDatabaseBackend
    : public base::RefCountedDeleteOnSequence<WebDatabaseBackend> {};

#endif  // COMPONENTS_WEBDATA_COMMON_WEB_DATABASE_BACKEND_H_