LibWeb: Add stubbed implementation for ServiceWorkerGlobalScope

This commit is contained in:
Shannon Booth 2024-11-30 18:35:45 +13:00 committed by Andreas Kling
commit cc11dcc9a1
Notes: github-actions[bot] 2024-11-30 10:20:37 +00:00
5 changed files with 65 additions and 0 deletions

View file

@ -0,0 +1,20 @@
/*
* Copyright (c) 2024, Shannon Booth <shannon@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/ServiceWorker/ServiceWorkerGlobalScope.h>
namespace Web::ServiceWorker {
GC_DEFINE_ALLOCATOR(ServiceWorkerGlobalScope);
ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope() = default;
ServiceWorkerGlobalScope::ServiceWorkerGlobalScope(JS::Realm& realm, GC::Ref<Web::Page> page)
: HTML::WorkerGlobalScope(realm, page)
{
}
}

View file

@ -0,0 +1,25 @@
/*
* Copyright (c) 2024, Shannon Booth <shannon@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWeb/HTML/WorkerGlobalScope.h>
namespace Web::ServiceWorker {
// https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope
class ServiceWorkerGlobalScope : public HTML::WorkerGlobalScope {
WEB_PLATFORM_OBJECT(ServiceWorkerGlobalScope, HTML::WorkerGlobalScope);
GC_DECLARE_ALLOCATOR(ServiceWorkerGlobalScope);
public:
virtual ~ServiceWorkerGlobalScope() override;
protected:
explicit ServiceWorkerGlobalScope(JS::Realm&, GC::Ref<Web::Page>);
};
}

View file

@ -0,0 +1,18 @@
#import <DOM/EventHandler.idl>
// https://w3c.github.io/ServiceWorker/#serviceworkerglobalscope
[Global=(Worker,ServiceWorker), Exposed=ServiceWorker, SecureContext]
interface ServiceWorkerGlobalScope : WorkerGlobalScope {
[FIXME, SameObject] readonly attribute Clients clients;
[FIXME, SameObject] readonly attribute ServiceWorkerRegistration registration;
[FIXME, SameObject] readonly attribute ServiceWorker serviceWorker;
[FIXME, NewObject] Promise<undefined> skipWaiting();
[FIXME] attribute EventHandler oninstall;
[FIXME] attribute EventHandler onactivate;
[FIXME] attribute EventHandler onfetch;
[FIXME] attribute EventHandler onmessage;
[FIXME] attribute EventHandler onmessageerror;
};