#include "content/browser/preloading/preloading_config.h"
#include <string_view>
#include "base/json/json_reader.h"
#include "base/metrics/field_trial_params.h"
#include "base/values.h"
#include "content/browser/preloading/preloading.h"
#include "content/common/features.h"
#include "content/public/browser/preloading.h"
namespace content {
namespace {
constexpr base::FeatureParam<std::string> kPreloadingConfigParam{ … };
static PreloadingConfig* g_config_override = …;
}
PreloadingConfig& PreloadingConfig::GetInstance() { … }
PreloadingConfig::PreloadingConfig() = default;
PreloadingConfig* PreloadingConfig::OverrideForTesting(
PreloadingConfig* config_override) { … }
void PreloadingConfig::ParseConfig() { … }
PreloadingConfig::~PreloadingConfig() = default;
bool PreloadingConfig::ShouldHoldback(PreloadingType preloading_type,
PreloadingPredictor predictor) { … }
void PreloadingConfig::SetHoldbackForTesting(PreloadingType preloading_type,
PreloadingPredictor predictor,
bool holdback) { … }
void PreloadingConfig::SetHoldbackForTesting(std::string_view preloading_type,
std::string_view predictor,
bool holdback) { … }
double PreloadingConfig::SamplingLikelihood(PreloadingType preloading_type,
PreloadingPredictor predictor) { … }
PreloadingConfig::Key::Key(std::string_view preloading_type,
std::string_view predictor)
: … { … }
PreloadingConfig::Key PreloadingConfig::Key::FromEnums(
PreloadingType preloading_type,
PreloadingPredictor predictor) { … }
PreloadingConfig::Entry PreloadingConfig::Entry::FromDict(
const base::Value::Dict* dict) { … }
bool PreloadingConfig::KeyCompare::operator()(
const PreloadingConfig::Key& lhs,
const PreloadingConfig::Key& rhs) const { … }
}