Summer of Code 2016: ServiceWorker infrastructure

Awal Garg edited this page Mar 24, 2016 · 2 revisions

Contact: Josh Matthews (jdm,

The goal of this project is to implement some important building blocks required for the ServiceWorker API. Due to the API's size and complexity, this project is focused on the parts of the specification that revolve around intercepting network requests.

Project breakdown

  • Implement the missing handle fetch integration for the Fetch implementation, and add unit tests
  • Implement logic for marking a service worker as registered and determining if a given HTTP request should be controlled by a worker or not
  • Allow script event loops to be notified that a FetchEvent should be dispatched to an appropriate worker, and create a mechanism allowing the result to be propagated back to the network request
  • Create infrastructure for sharing workers between multiple pages



Current implementation:

Suggestions for preparation

(Feel free to ask questions in #servo on, or our mailing list!)

  • Read the existing Fetch and DedicatedWorkerGlobalScope; try to understand it and its relation to the specifications; as well as how WebIDL works
  • Gain experience using Rust by solving an easy DOM issue. Please leave a comment saying that you're working on it.
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.