Implementing Service Worker infrastructure in Servo Browser Engine.
This project aims to implement the foundations necessary for the Service Workers Api in Servo Browser Engine. The implementation as of now is a non-standard, which does not mandate the use of promises as Promises api hasn't landed in Servo yet, also the Cache and Notification Api is not implemented due to same reason.
The end goal of the project is to make basic service worker DOM Api's available on Servo browser; to allow registration of Service Workers and to be able to make them run when navigated to that scope.
The following api's are available on servo to interact with Service Workers:
-
ServiceWorkerContainer : i.e.,
navigator.serviceWorker
on the navigator dom object. -
ServiceWorkerRegistration
-
ServiceWorkerGlobalScope
-
ServiceWorker
- Basic Service Worker support lands in Servo
- Post community bonding period with Servo
- Introduction to Service Workers
- GSoC begins with Servo
- Interface for Custom Responses Merged
- Implement related Service Worker interface and Register method Merged
- Integrate Service worker manager thread Merged
- Remove expect calls in service worker manager thread Merged
- Bring back run_with_memory_reporting in serviceworkerglobalscope Merged
- Make the service worker send custom response Merged
- Dispatch lifecycle events to service worker object and refactor html tests Merged
- Implement postMessage for ServiceWorkers Merged
- Implement ExtendableEvent as base type for ServiceWorker events Merged
- Implement abstraction of a Job Queue Merged
- Implement FetchEvent interface
- Implement Update algorithm - #14263