blob: ad979690003ea15cb4324579567780537b259be9 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <memory>
#include "base/functional/callback_forward.h"
#include "components/browsing_data/content/browsing_data_model.h"
#ifndef COMPONENTS_BROWSING_DATA_CONTENT_FAKE_BROWSING_DATA_MODEL_H_
#define COMPONENTS_BROWSING_DATA_CONTENT_FAKE_BROWSING_DATA_MODEL_H_
// An in-memory only version of the BrowsingDataModel. Uses real
// BrowsingDataModel logic for updating internal in-memory state, but overrides
// any function which would attempt to fetch from disk.
class FakeBrowsingDataModel : public BrowsingDataModel {
public:
FakeBrowsingDataModel();
explicit FakeBrowsingDataModel(
std::unique_ptr<BrowsingDataModel::Delegate> delegate);
~FakeBrowsingDataModel() override;
void RemoveBrowsingData(const DataOwner& data_owner,
base::OnceClosure completed) override;
void RemoveBrowsingDataEntriesFromDisk(
const DataKeyEntries& browsing_data_entries,
base::OnceClosure completed) override;
private:
void PopulateFromDisk(base::OnceClosure finished_callback) override;
};
#endif // COMPONENTS_BROWSING_DATA_CONTENT_FAKE_BROWSING_DATA_MODEL_H_