/* * Copyright (c) 2024, Jamie Mansfield * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include namespace Web::UIEvents { GC_DEFINE_ALLOCATOR(TextEvent); GC::Ref TextEvent::create(JS::Realm& realm, FlyString const& event_name) { return realm.create(realm, event_name); } TextEvent::TextEvent(JS::Realm& realm, FlyString const& event_name) : UIEvent(realm, event_name) { } TextEvent::~TextEvent() = default; void TextEvent::initialize(JS::Realm& realm) { Base::initialize(realm); WEB_SET_PROTOTYPE_FOR_INTERFACE(TextEvent); } // https://w3c.github.io/uievents/#dom-textevent-inittextevent void TextEvent::init_text_event(String const& type, bool bubbles, bool cancelable, GC::Ptr view, String const& data) { // Initializes attributes of a TextEvent object. This method has the same behavior as UIEvent.initUIEvent(). // The value of detail remains undefined. // 1. If this’s dispatch flag is set, then return. if (dispatched()) return; // 2. Initialize this with type, bubbles, and cancelable. initialize_event(type, bubbles, cancelable); // Implementation Defined: Initialise other values. m_view = view; m_data = data; } }