LibWeb: Implement BeforeUnloadEvent

This is required to support legacy behavior of the `returnValue`
attribute.
This commit is contained in:
Tim Ledbetter 2024-10-02 23:54:48 +01:00 committed by Andreas Kling
commit 99ef078c97
Notes: github-actions[bot] 2024-10-05 07:18:41 +00:00
9 changed files with 95 additions and 5 deletions

View file

@ -0,0 +1,33 @@
/*
* Copyright (c) 2024, Tim Ledbetter <tim.ledbetter@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Bindings/BeforeUnloadEventPrototype.h>
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/DOM/BeforeUnloadEvent.h>
namespace Web::DOM {
JS_DEFINE_ALLOCATOR(BeforeUnloadEvent);
JS::NonnullGCPtr<BeforeUnloadEvent> BeforeUnloadEvent::create(JS::Realm& realm, FlyString const& event_name, DOM::EventInit const& event_init)
{
return realm.heap().allocate<BeforeUnloadEvent>(realm, realm, event_name, event_init);
}
BeforeUnloadEvent::BeforeUnloadEvent(JS::Realm& realm, FlyString const& event_name, DOM::EventInit const& event_init)
: DOM::Event(realm, event_name, event_init)
{
}
BeforeUnloadEvent::~BeforeUnloadEvent() = default;
void BeforeUnloadEvent::initialize(JS::Realm& realm)
{
Base::initialize(realm);
WEB_SET_PROTOTYPE_FOR_INTERFACE(BeforeUnloadEvent);
}
}