/* * Copyright (c) 2024, Tim Ledbetter * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::HTML { class BeforeUnloadEvent final : public DOM::Event { WEB_PLATFORM_OBJECT(BeforeUnloadEvent, DOM::Event); GC_DECLARE_ALLOCATOR(BeforeUnloadEvent); public: [[nodiscard]] static GC::Ref create(JS::Realm&, FlyString const& event_name, DOM::EventInit const& = {}); BeforeUnloadEvent(JS::Realm&, FlyString const& event_name, DOM::EventInit const&); virtual ~BeforeUnloadEvent() override; String const& return_value() const { return m_return_value; } void set_return_value(String const& return_value) { m_return_value = return_value; } private: virtual void initialize(JS::Realm&) override; String m_return_value; }; }