mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-03 17:58:49 +00:00
Resulting in a massive rename across almost everywhere! Alongside the namespace change, we now have the following names: * JS::NonnullGCPtr -> GC::Ref * JS::GCPtr -> GC::Ptr * JS::HeapFunction -> GC::Function * JS::CellImpl -> GC::Cell * JS::Handle -> GC::Root
59 lines
2.5 KiB
C++
59 lines
2.5 KiB
C++
/*
|
|
* Copyright (c) 2022, Linus Groh <linusg@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <LibGC/Heap.h>
|
|
#include <LibJS/Runtime/VM.h>
|
|
#include <LibWeb/Fetch/Infrastructure/FetchAlgorithms.h>
|
|
|
|
namespace Web::Fetch::Infrastructure {
|
|
|
|
GC_DEFINE_ALLOCATOR(FetchAlgorithms);
|
|
|
|
GC::Ref<FetchAlgorithms> FetchAlgorithms::create(JS::VM& vm, Input input)
|
|
{
|
|
auto process_request_body_chunk_length = GC::create_function(vm.heap(), move(input.process_request_body_chunk_length));
|
|
auto process_request_end_of_body = GC::create_function(vm.heap(), move(input.process_request_end_of_body));
|
|
auto process_early_hints_response = GC::create_function(vm.heap(), move(input.process_early_hints_response));
|
|
auto process_response = GC::create_function(vm.heap(), move(input.process_response));
|
|
auto process_response_end_of_body = GC::create_function(vm.heap(), move(input.process_response_end_of_body));
|
|
auto process_response_consume_body = GC::create_function(vm.heap(), move(input.process_response_consume_body));
|
|
return vm.heap().allocate<FetchAlgorithms>(
|
|
process_request_body_chunk_length,
|
|
process_request_end_of_body,
|
|
process_early_hints_response,
|
|
process_response,
|
|
process_response_end_of_body,
|
|
process_response_consume_body);
|
|
}
|
|
|
|
FetchAlgorithms::FetchAlgorithms(
|
|
ProcessRequestBodyChunkLengthHeapFunction process_request_body_chunk_length,
|
|
ProcessRequestEndOfBodyHeapFunction process_request_end_of_body,
|
|
ProcessEarlyHintsResponseHeapFunction process_early_hints_response,
|
|
ProcessResponseHeapFunction process_response,
|
|
ProcessResponseEndOfBodyHeapFunction process_response_end_of_body,
|
|
ProcessResponseConsumeBodyHeapFunction process_response_consume_body)
|
|
: m_process_request_body_chunk_length(process_request_body_chunk_length)
|
|
, m_process_request_end_of_body(process_request_end_of_body)
|
|
, m_process_early_hints_response(process_early_hints_response)
|
|
, m_process_response(process_response)
|
|
, m_process_response_end_of_body(process_response_end_of_body)
|
|
, m_process_response_consume_body(process_response_consume_body)
|
|
{
|
|
}
|
|
|
|
void FetchAlgorithms::visit_edges(JS::Cell::Visitor& visitor)
|
|
{
|
|
Base::visit_edges(visitor);
|
|
visitor.visit(m_process_request_body_chunk_length);
|
|
visitor.visit(m_process_request_end_of_body);
|
|
visitor.visit(m_process_early_hints_response);
|
|
visitor.visit(m_process_response);
|
|
visitor.visit(m_process_response_end_of_body);
|
|
visitor.visit(m_process_response_consume_body);
|
|
}
|
|
|
|
}
|