Coverage Report

Created: 2026-05-16 07:03

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibWeb/UIEvents/InputEvent.cpp
Line
Count
Source
1
/*
2
 * Copyright (c) 2024, Jamie Mansfield <jmansfield@cadixdev.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#include <LibWeb/Bindings/InputEventPrototype.h>
8
#include <LibWeb/Bindings/Intrinsics.h>
9
#include <LibWeb/UIEvents/InputEvent.h>
10
11
namespace Web::UIEvents {
12
13
JS_DEFINE_ALLOCATOR(InputEvent);
14
15
JS::NonnullGCPtr<InputEvent> InputEvent::create_from_platform_event(JS::Realm& realm, FlyString const& event_name, InputEventInit const& event_init)
16
0
{
17
0
    auto event = realm.heap().allocate<InputEvent>(realm, realm, event_name, event_init);
18
0
    event->set_bubbles(true);
19
0
    if (event_name == "beforeinput"_fly_string) {
20
0
        event->set_cancelable(true);
21
0
    }
22
0
    return event;
23
0
}
24
25
WebIDL::ExceptionOr<JS::NonnullGCPtr<InputEvent>> InputEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, InputEventInit const& event_init)
26
0
{
27
0
    return realm.heap().allocate<InputEvent>(realm, realm, event_name, event_init);
28
0
}
29
30
InputEvent::InputEvent(JS::Realm& realm, FlyString const& event_name, InputEventInit const& event_init)
31
0
    : UIEvent(realm, event_name, event_init)
32
0
    , m_data(event_init.data)
33
0
    , m_is_composing(event_init.is_composing)
34
0
    , m_input_type(event_init.input_type)
35
0
{
36
0
}
37
38
0
InputEvent::~InputEvent() = default;
39
40
void InputEvent::initialize(JS::Realm& realm)
41
0
{
42
0
    Base::initialize(realm);
43
0
    WEB_SET_PROTOTYPE_FOR_INTERFACE(InputEvent);
44
0
}
45
46
Vector<DOM::StaticRange> InputEvent::get_target_ranges() const
47
0
{
48
0
    dbgln("FIXME: Implement InputEvent::get_target_ranges()");
49
0
    return {};
50
0
}
51
52
}