ladybird/Libraries/LibWeb/HTML/SubmitEvent.cpp
Glenn Skrzypczak c6bd3173ef LibWeb/HTML: Make form submit event trusted
The form submit event was previously not tagged as trusted. This commit
properly tags the event so that we match the behaviour implemented by
other browsers and expected by WPT.
2026-03-23 02:33:56 +01:00

47 lines
1.2 KiB
C++

/*
* Copyright (c) 2022, Andreas Kling <andreas@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/Bindings/SubmitEventPrototype.h>
#include <LibWeb/HTML/SubmitEvent.h>
namespace Web::HTML {
GC_DEFINE_ALLOCATOR(SubmitEvent);
GC::Ref<SubmitEvent> SubmitEvent::create(JS::Realm& realm, FlyString const& event_name, SubmitEventInit const& event_init)
{
auto event = realm.create<SubmitEvent>(realm, event_name, event_init);
event->set_is_trusted(true);
return event;
}
WebIDL::ExceptionOr<GC::Ref<SubmitEvent>> SubmitEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, SubmitEventInit const& event_init)
{
return create(realm, event_name, event_init);
}
SubmitEvent::SubmitEvent(JS::Realm& realm, FlyString const& event_name, SubmitEventInit const& event_init)
: DOM::Event(realm, event_name, event_init)
, m_submitter(event_init.submitter)
{
}
SubmitEvent::~SubmitEvent() = default;
void SubmitEvent::initialize(JS::Realm& realm)
{
WEB_SET_PROTOTYPE_FOR_INTERFACE(SubmitEvent);
Base::initialize(realm);
}
void SubmitEvent::visit_edges(Cell::Visitor& visitor)
{
Base::visit_edges(visitor);
visitor.visit(m_submitter);
}
}