LibWeb: Add WorkerNavigator.serviceWorker API

This simply adds a ServiceWorkerContainer object to the WorkerNavigator.
This commit is contained in:
Andrew Kaster
2024-09-04 14:17:03 -06:00
committed by Andreas Kling
parent 7c953552b7
commit 2667726b74
3 changed files with 16 additions and 0 deletions

View File

@@ -37,6 +37,7 @@ void WorkerNavigator::visit_edges(Cell::Visitor& visitor)
{
Base::visit_edges(visitor);
visitor.visit(m_media_capabilities);
visitor.visit(m_service_worker_container);
}
JS::NonnullGCPtr<MediaCapabilitiesAPI::MediaCapabilities> WorkerNavigator::media_capabilities()
@@ -46,4 +47,11 @@ JS::NonnullGCPtr<MediaCapabilitiesAPI::MediaCapabilities> WorkerNavigator::media
return *m_media_capabilities;
}
JS::NonnullGCPtr<ServiceWorkerContainer> WorkerNavigator::service_worker()
{
if (!m_service_worker_container)
m_service_worker_container = heap().allocate<ServiceWorkerContainer>(realm(), realm());
return *m_service_worker_container;
}
}