Coverage Report

Created: 2025-12-18 07:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibWeb/Clipboard/ClipboardEvent.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2024, Tim Flynn <trflynn89@serenityos.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <LibJS/Heap/GCPtr.h>
10
#include <LibWeb/DOM/Event.h>
11
#include <LibWeb/Forward.h>
12
#include <LibWeb/HTML/DataTransfer.h>
13
14
namespace Web::Clipboard {
15
16
struct ClipboardEventInit : public DOM::EventInit {
17
    JS::GCPtr<HTML::DataTransfer> clipboard_data;
18
};
19
20
// https://w3c.github.io/clipboard-apis/#clipboardevent
21
class ClipboardEvent : public DOM::Event {
22
    WEB_PLATFORM_OBJECT(ClipboardEvent, DOM::Event);
23
    JS_DECLARE_ALLOCATOR(ClipboardEvent);
24
25
public:
26
    static JS::NonnullGCPtr<ClipboardEvent> construct_impl(JS::Realm&, FlyString const& event_name, ClipboardEventInit const& event_init);
27
28
    virtual ~ClipboardEvent() override;
29
30
0
    JS::GCPtr<HTML::DataTransfer> clipboard_data() { return m_clipboard_data; }
31
32
private:
33
    ClipboardEvent(JS::Realm&, FlyString const& event_name, ClipboardEventInit const& event_init);
34
35
    virtual void initialize(JS::Realm&) override;
36
    virtual void visit_edges(JS::Cell::Visitor&) override;
37
38
    JS::GCPtr<HTML::DataTransfer> m_clipboard_data;
39
};
40
41
}