ServiceWorker implementation items:
- ServiceWorker
- ServiceWorkerRegistration
- ServiceWorkerContainer
- NavigationPreloadManager
- ServiceWorkerGlobalScope
- Client
- Clients
- ExtendableEvent
- InstallEvent
- FetchEvent
- ExtendableMessageEvent
- Cache
- CacheStorate
- Create Job (ServiceWorkerRegistration::register and ::update, Start Register, Soft Update)
- Schedule Job (ServiceWorkerRegistration::register and ::update, Start Register, Soft Update)
- Run Job (Schedule Job, Finish Job)
- Finish Job (Register, Update, Install, Unregister)
- Resolve Job Promise (Register, Update, Install, Unregister)
- Reject Job Promise (Register, Update, Install, Unregister)
- Start Register (ServiceWorkerContainer::register)
- Register (Run Job)
- Update (Run Job, Register, Update)
- Soft Update (Update, Handle Fetch, Create Fetch Event and Dispatch, Fire Functional Event)
- Install (Update)
- Activate (Install, Try Activate, Handle User Agent Shutdown)
- Try Activate (ServiceWorkerGlobalScope::skipWaiting, Install, Handle Service Worker Client Unload)
- Setup ServiceWorkerGlobalScope (Run Service Worker, Handle Fetch)
- Run Service Worker (ServiceWorker::postMessage, Update, Install, Activate, Setup ServiceWorkerGlobalScope, Create Fetch Event and Dispatch, Fire Functional Event)
- All Fetch Listeners Are Empty (Run Service Worker)
- Terminate Service Worker (Install, Activate, Run Service Worker, Handle Service Worker Client Unload, Clear Registrations)
- Handle Fetch (ServiceWorkerContainer::register, FetchEvent::respondWith)
- Create Fetch Event and Dispatch (Handle Fetch)
- Parse URL Pattern (Verify Router Condition, Match Router Condition)
- Verify Router Condition (InstallEvent::addRoutes)
- Match Router Condition (Get Router Source)
- Check Router Registration Limit (InstallEvent::addRoutes)
- Count Router Inner Conditions (Check Router Registration Limit)
- Get Router Source (Handle Fetch)
- Should Skip Event (postMessage, Install, Activate, Create Fetch Event and Dispatch, Fire Functional Event )
- Fire Functional Event (outside specs)
- Handle Service Worker Client Unload (Clients::claim, Install, Unregister)
- Handle User Agent Shutdown (internally)
- Update Service Worker Extended Events Set (postMessage, Create Fetch Event and Dispatch, Fire Functional Event)
- Unregister (Run Job)
- Set Registration (Register)
- Clear Registration (Handle User Agent Shutdown, Unregister, Try Clear Registration)
- Try Clear Registration (ExtendableEvent, Handle Service Worker Client Unload, Unregister)
- Update Registration State (Install, Activate, Clear Registration)
- Update Worker State (Install, Activate, Clear Registration)
- Notify Controller Change(claim, Activate)
- Match Service Worker Registration (ServiceWorker::scriptURL, ServiceWorkerContainer::ready, others)
- Get Registration (many places)
- Get Newest Worker (many)
- Service Worker Has No Pending Events (many)
- Create Client(many)
- Create Window Client(many)
- Get Frame Type(many)
- Resolve Get Client Promise(clients.get(id))
- Query Cache (cache and fetch)
- Request Matches Cached Item(Query Cache)
- Batch Cache Operations(cache)
- Is Async Module
- Service Worker Script Request
- Service Worker Script Response