#include "components/safe_search_api/url_checker.h"
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/logging.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/time/time.h"
#include "base/values.h"
namespace safe_search_api {
namespace {
const size_t kDefaultCacheSize = …;
const size_t kDefaultCacheTimeoutSeconds = …;
constexpr std::string_view kCacheHitMetricKey{ … };
}
struct URLChecker::Check { … };
URLChecker::Check::Check(const GURL& url, CheckCallback callback) : … { … }
URLChecker::Check::~Check() = default;
URLChecker::CheckResult::CheckResult(Classification classification)
: … { … }
URLChecker::URLChecker(std::unique_ptr<URLCheckerClient> async_checker)
: … { … }
URLChecker::URLChecker(std::unique_ptr<URLCheckerClient> async_checker,
size_t cache_size)
: … { … }
URLChecker::~URLChecker() = default;
void URLChecker::MaybeScheduleAsyncCheck(const GURL& url,
CheckCallback callback) { … }
bool URLChecker::CheckURL(const GURL& url, CheckCallback callback) { … }
void URLChecker::OnAsyncCheckComplete(CheckList::iterator it,
const GURL& url,
ClientClassification api_classification) { … }
}