#include "third_party/blink/renderer/core/speculation_rules/auto_speculation_rules_config.h"
#include "base/feature_list.h"
#include "base/strings/pattern.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/mojom/loader/javascript_framework_detection.mojom-shared.h"
#include "third_party/blink/renderer/platform/json/json_parser.h"
#include "third_party/blink/renderer/platform/json/json_values.h"
#include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/wtf_size_t.h"
namespace blink {
namespace {
static AutoSpeculationRulesConfig* g_override = …;
}
AutoSpeculationRulesConfig::AutoSpeculationRulesConfig(
const String& config_string) { … }
void AutoSpeculationRulesConfig::ParseUrlMatchPatternConfig(
const JSONObject* config,
const String& json_key_name,
BrowserInjectedSpeculationRuleOptOut opt_out) { … }
const AutoSpeculationRulesConfig& AutoSpeculationRulesConfig::GetInstance() { … }
AutoSpeculationRulesConfig*
AutoSpeculationRulesConfig::OverrideInstanceForTesting(
AutoSpeculationRulesConfig* new_override) { … }
String AutoSpeculationRulesConfig::ForFramework(
mojom::JavaScriptFramework framework) const { … }
Vector<std::pair<String, BrowserInjectedSpeculationRuleOptOut>>
AutoSpeculationRulesConfig::ForUrl(const KURL& url) const { … }
}