Serenity Operating System
at master 38 lines 975 B view raw
1/* 2 * Copyright (c) 2023, Kenneth Myhra <kennethmyhra@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibWeb/DOM/Event.h> 10#include <LibWeb/XHR/FormData.h> 11 12namespace Web::HTML { 13 14struct FormDataEventInit : public DOM::EventInit { 15 JS::GCPtr<XHR::FormData> form_data {}; 16}; 17 18class FormDataEvent final : public DOM::Event { 19 WEB_PLATFORM_OBJECT(FormDataEvent, DOM::Event); 20 21public: 22 static WebIDL::ExceptionOr<JS::NonnullGCPtr<FormDataEvent>> construct_impl(JS::Realm&, FlyString const& event_name, FormDataEventInit const& event_init); 23 24 virtual ~FormDataEvent() override; 25 26 JS::GCPtr<XHR::FormData> form_data() const { return m_form_data; } 27 28private: 29 FormDataEvent(JS::Realm&, FlyString const& event_name, FormDataEventInit const& event_init); 30 31 JS::ThrowCompletionOr<void> initialize(JS::Realm&) override; 32 33 virtual void visit_edges(Cell::Visitor&) override; 34 35 JS::GCPtr<XHR::FormData> m_form_data; 36}; 37 38}