blob: e59b2fbfc33f902a8c6c46dffa7d8d531322b4c6 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "testing/libfuzzer/renderer_fuzzing/renderer_fuzzing.h"
#include <map>
#include "base/memory/singleton.h"
void RendererFuzzing::Run(
const blink::BrowserInterfaceBrokerProxy* context_interface_broker_proxy,
blink::ThreadSafeBrowserInterfaceBrokerProxy*
process_interface_broker_proxy,
const std::string& fuzzer_id,
std::vector<uint8_t>&& input,
base::OnceClosure done_closure) {
auto it = RendererFuzzing::GetInstance()->fuzzers_.find(fuzzer_id);
CHECK(it != std::end(RendererFuzzing::GetInstance()->fuzzers_));
it->second->Run(context_interface_broker_proxy,
process_interface_broker_proxy, std::move(input),
std::move(done_closure));
}
RendererFuzzing* RendererFuzzing::GetInstance() {
return base::Singleton<RendererFuzzing>::get();
}