Commit graph

6 commits

Author SHA1 Message Date
Andreas Kling
1835d739f5 LibWeb: Implement ServiceWorkerContainer getRegistrations
Expose ServiceWorkerContainer.getRegistrations() and implement the
Service Workers algorithm for collecting registrations matching the
current client's storage key. Resolve the promise with a frozen array
of ServiceWorkerRegistration objects, matching the Web-exposed return
type.

Use OrderedHashMap for the temporary LibWeb registration map, since the
Service Workers spec defines the registration map as ordered and
getRegistrations() exposes that iteration order.

Add text coverage for the no-registration case used by TradingView's
startup path. Without this method, the page threw while calling
navigator.serviceWorker.getRegistrations() and aborted before rendering
its chart.
2026-05-23 19:11:01 +02:00
Shannon Booth
cc6e048bd6 LibWeb+LibIDL: Remove support for #import directives during parsing
These no longer serve any purpose now that we run the IDLGenerator
on all of these files at once.
2026-04-24 20:08:29 +02:00
Andreas Kling
99db474a84 LibWeb: Implement ServiceWorkerContainer.ready attribute
This patch implements the ready attribute on ServiceWorkerContainer,
a Promise that resolves when there's a ServiceWorkerRegistration
with an active worker for the current page. The promise never rejects
and stays pending if no active service worker exists.

This makes https://instagram.com/ load once again :^)
2026-01-09 23:16:36 +01:00
Tete17
18199f8f2a LibWeb: Hook TrustedTypes to the ServiceWorkers api 2025-10-13 13:22:01 +01:00
Feng Yu
37e1d6ece1 LibWeb: Implement nagivator.serviceWorker.getRegistration() 2025-01-30 15:18:43 -07:00
Shannon Booth
4417f63ca0 LibWeb: Move ServiceWorker classes to ServiceWorker namespace
These are defined by the ServiceWorker spec, not the HTML one.
2024-11-30 11:19:35 +01:00
Renamed from Libraries/LibWeb/HTML/ServiceWorkerContainer.idl (Browse further)