Coverage Report

Created: 2026-09-14 07:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibWeb/HTML/ServiceWorker.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2024, Andrew Kaster <andrew@ladybird.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include <LibWeb/Bindings/ServiceWorkerPrototype.h>
10
#include <LibWeb/DOM/EventTarget.h>
11
12
#define ENUMERATE_SERVICE_WORKER_EVENT_HANDLERS(E)  \
13
    E(onstatechange, HTML::EventNames::statechange) \
14
    E(onerror, HTML::EventNames::error)
15
16
namespace Web::HTML {
17
18
class ServiceWorker : public DOM::EventTarget {
19
    WEB_PLATFORM_OBJECT(ServiceWorker, DOM::EventTarget);
20
21
public:
22
    [[nodiscard]] static JS::NonnullGCPtr<ServiceWorker> create(JS::Realm& realm);
23
24
    virtual ~ServiceWorker() override;
25
26
0
    String script_url() const { return m_script_url; }
27
0
    Bindings::ServiceWorkerState service_worker_state() const { return m_state; }
28
29
#undef __ENUMERATE
30
#define __ENUMERATE(attribute_name, event_name)       \
31
    void set_##attribute_name(WebIDL::CallbackType*); \
32
    WebIDL::CallbackType* attribute_name();
33
    ENUMERATE_SERVICE_WORKER_EVENT_HANDLERS(__ENUMERATE)
34
#undef __ENUMERATE
35
36
private:
37
    ServiceWorker(JS::Realm&, String script_url);
38
39
    virtual void initialize(JS::Realm&) override;
40
41
    String m_script_url;
42
    Bindings::ServiceWorkerState m_state { Bindings::ServiceWorkerState::Parsed };
43
};
44
45
}