#include "third_party/blink/renderer/bindings/core/v8/v8_compile_hints_for_streaming.h"
#include "base/feature_list.h"
#include "base/metrics/histogram_functions.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/page/v8_compile_hints_histograms.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_compile_hints_producer.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_local_compile_hints_consumer.h"
#include "third_party/blink/renderer/platform/loader/fetch/cached_metadata.h"
namespace blink::v8_compile_hints {
namespace {
static bool LocalCompileHintsEnabled() { … }
}
CompileHintsForStreaming::Builder::Builder(
V8CrowdsourcedCompileHintsProducer* crowdsourced_compile_hints_producer,
V8CrowdsourcedCompileHintsConsumer* crowdsourced_compile_hints_consumer,
const KURL& resource_url,
bool v8_compile_hints_magic_comment_runtime_enabled)
: … { … }
std::unique_ptr<CompileHintsForStreaming>
CompileHintsForStreaming::Builder::Build(
scoped_refptr<CachedMetadata> hot_cached_metadata_for_local_compile_hints,
bool has_hot_timestamp) && { … }
CompileHintsForStreaming::CompileHintsForStreaming(
bool produce_compile_hints,
v8::ScriptCompiler::CompileOptions additional_compile_options,
base::PassKey<Builder>)
: … { … }
CompileHintsForStreaming::CompileHintsForStreaming(
std::unique_ptr<V8LocalCompileHintsConsumer> local_compile_hints_consumer,
v8::ScriptCompiler::CompileOptions additional_compile_options,
base::PassKey<Builder>)
: … { … }
CompileHintsForStreaming::CompileHintsForStreaming(
std::unique_ptr<V8CrowdsourcedCompileHintsConsumer::DataAndScriptNameHash>
crowdsourced_compile_hint_callback_data,
v8::ScriptCompiler::CompileOptions additional_compile_options,
base::PassKey<Builder>)
: … { … }
v8::CompileHintCallback CompileHintsForStreaming::GetCompileHintCallback()
const { … }
void* CompileHintsForStreaming::GetCompileHintCallbackData() const { … }
V8LocalCompileHintsConsumer*
CompileHintsForStreaming::GetV8LocalCompileHintsConsumerForTest() const { … }
}