summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/UIEvents/FocusEvent.h
blob: 4a244dbede755b5899fbdcee41527deb2744886e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

#pragma once

#include <LibWeb/UIEvents/UIEvent.h>

namespace Web::UIEvents {

struct FocusEventInit : public UIEventInit {
    RefPtr<DOM::EventTarget> related_target;
};

class FocusEvent final : public UIEvent {
public:
    using WrapperType = Bindings::FocusEventWrapper;

    virtual ~FocusEvent() override;

    static NonnullRefPtr<FocusEvent> create_with_global_object(Bindings::WindowObject&, FlyString const& event_name, FocusEventInit const& event_init)
    {
        return adopt_ref(*new FocusEvent(event_name, event_init));
    }

private:
    FocusEvent(FlyString const& event_name, FocusEventInit const&);
};

}