#include "components/blocklist/opt_out_blocklist/opt_out_blocklist.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram.h"
#include "base/time/clock.h"
#include "components/blocklist/opt_out_blocklist/opt_out_blocklist_delegate.h"
#include "components/blocklist/opt_out_blocklist/opt_out_blocklist_item.h"
#include "components/blocklist/opt_out_blocklist/opt_out_store.h"
namespace blocklist {
OptOutBlocklist::OptOutBlocklist(std::unique_ptr<OptOutStore> opt_out_store,
base::Clock* clock,
OptOutBlocklistDelegate* blocklist_delegate)
: … { … }
OptOutBlocklist::~OptOutBlocklist() = default;
void OptOutBlocklist::Init() { … }
base::Time OptOutBlocklist::AddEntry(const std::string& host_name,
bool opt_out,
int type) { … }
void OptOutBlocklist::AddEntrySync(const std::string& host_name,
bool opt_out,
int type,
base::Time time) { … }
BlocklistReason OptOutBlocklist::IsLoadedAndAllowed(
const std::string& host_name,
int type,
bool ignore_long_term_block_list_rules,
std::vector<BlocklistReason>* passed_reasons) const { … }
void OptOutBlocklist::ClearBlockList(base::Time begin_time,
base::Time end_time) { … }
void OptOutBlocklist::ClearBlockListSync(base::Time begin_time,
base::Time end_time) { … }
void OptOutBlocklist::QueuePendingTask(base::OnceClosure callback) { … }
void OptOutBlocklist::LoadBlockListDone(
std::unique_ptr<BlocklistData> blocklist_data) { … }
}