mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 18:58:12 +00:00
LibWeb: Make Fetch::Infrastructure::{Request,Response,HeaderList} GC'd
This is the way. On a more serious note, there's no reason to keep adding ref-counted classes to LibWeb now that the majority of classes is GC'd - it only adds the risk of discovering some cycle down the line, and forces us to use handles as we can't visit().
This commit is contained in:
parent
63122d0276
commit
b1968b8bed
19 changed files with 270 additions and 169 deletions
|
@ -11,6 +11,7 @@
|
|||
#include <LibGemini/Document.h>
|
||||
#include <LibGfx/ImageDecoder.h>
|
||||
#include <LibMarkdown/Document.h>
|
||||
#include <LibWeb/Bindings/MainThreadVM.h>
|
||||
#include <LibWeb/Cookie/ParsedCookie.h>
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/DOM/ElementFactory.h>
|
||||
|
@ -298,12 +299,13 @@ bool FrameLoader::load(const AK::URL& url, Type type)
|
|||
|
||||
void FrameLoader::load_html(StringView html, const AK::URL& url)
|
||||
{
|
||||
auto response = Fetch::Infrastructure::Response::create();
|
||||
auto& vm = Bindings::main_thread_vm();
|
||||
auto response = Fetch::Infrastructure::Response::create(vm);
|
||||
response->url_list().append(url);
|
||||
HTML::NavigationParams navigation_params {
|
||||
.id = {},
|
||||
.request = nullptr,
|
||||
.response = move(response),
|
||||
.response = response,
|
||||
.origin = HTML::Origin {},
|
||||
.policy_container = HTML::PolicyContainer {},
|
||||
.final_sandboxing_flag_set = HTML::SandboxingFlagSet {},
|
||||
|
@ -418,15 +420,16 @@ void FrameLoader::resource_did_load()
|
|||
// FIXME: Pass incumbentNavigationOrigin
|
||||
auto response_origin = HTML::determine_the_origin(browsing_context(), url, final_sandboxing_flag_set, {});
|
||||
|
||||
auto response = Fetch::Infrastructure::Response::create();
|
||||
auto& vm = Bindings::main_thread_vm();
|
||||
auto response = Fetch::Infrastructure::Response::create(vm);
|
||||
response->url_list().append(url);
|
||||
HTML::NavigationParams navigation_params {
|
||||
.id = {},
|
||||
.request = nullptr,
|
||||
.response = move(response),
|
||||
.response = response,
|
||||
.origin = move(response_origin),
|
||||
.policy_container = HTML::PolicyContainer {},
|
||||
.final_sandboxing_flag_set = move(final_sandboxing_flag_set),
|
||||
.final_sandboxing_flag_set = final_sandboxing_flag_set,
|
||||
.cross_origin_opener_policy = HTML::CrossOriginOpenerPolicy {},
|
||||
.coop_enforcement_result = HTML::CrossOriginOpenerPolicyEnforcementResult {},
|
||||
.reserved_environment = {},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue