Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CR Plan for V1 #1242

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
241 changes: 241 additions & 0 deletions docs/v1/cr_plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
CR Plan for V1
---

At TPAC 2017, Service Workers WG [decided](https://www.w3.org/2017/11/07-serviceworker-minutes.html#item19) to move [Service Workers V1](https://w3c.github.io/ServiceWorker/v1) to CR with the reasons that we have three implementations (+ an ongoing work) and good WPT coverage for the interop.

We use this document to:
- Check WPT coverage.
- Check if more than two browsers implemented the features.
- Track the issues that should be resolved for this version.
- Remove the features that are not ready for this version.

Test environments
---
- Chromium: Chrome 61
- Gecko: Firefox 58
- EdgeHTML: Edge 40

Feature and Test|Chromium|Gecko|EdgeHTML|WebKit
-- | ------ | --- | ------ | -----
**ServiceWorker.scriptURL**
/service-workers/service-worker/serviceworkerobject-scripturl.https.html | | | |
/service-workers/service-worker/registration-script-url.https.html | | | |
**ServiceWorker.state**
/service-workers/service-worker/state.https.html | | | |
**ServiceWorker.postMessage(message, transfer)**
/service-workers/service-worker/postmessage.https.html | | | |
**ServiceWorker.onstatechange**
/service-workers/service-worker/state.https.html | | | |
**ServiceWorkerRegistration.installing**
/service-workers/service-worker/registration-service-worker-attributes.https.html | | | |
**ServiceWorkerRegistration.waiting**
/service-workers/service-worker/registration-service-worker-attributes.https.html | | | |
**ServiceWorkerRegistration.active**
/service-workers/service-worker/registration-service-worker-attributes.https.html | | | |
**ServiceWorkerRegistration.scope**
/service-workers/service-worker/registration-scope.https.html | | | |
**ServiceWorkerRegistration.updateViaCache**
/service-workers/service-worker/registration-updateviacache.https.html | | | |
**ServiceWorkerRegistration.update()**
/service-workers/service-worker/update.https.html | | | |
**ServiceWorkerRegistration.unregister()**
/service-workers/service-worker/unregister.https.html | | | |
**ServiceWorkerRegistration.onupdatefound**
/service-workers/service-worker/ServiceWorkerGlobalScope/update.https.html | | | |
**navigator.serviceWorker**
/service-workers/service-worker/interfaces-window.https.html | | | |
/service-workers/service-worker/registration-end-to-end.https.html | | | |
**ServiceWorkerContainer.controller**
/service-workers/service-worker/controller-on-disconnect.https.html | | | |
/service-workers/service-worker/controller-on-load.https.html | | | |
/service-workers/service-worker/controller-on-reload.https.html | | | |
**ServiceWorkerContainer.ready**
/service-workers/service-worker/ready.https.html | | | |
**ServiceWorkerContainer.register(scriptURL, options)**
/service-workers/service-worker/registration-basic.https.html | | | |
/service-workers/service-worker/registration-scope.https.html | | | |
/service-workers/service-worker/registration-script.https.html | | | |
/service-workers/service-worker/registration-script-url.https.html | | | |
**ServiceWorkerContainer.getRegistration(clientURL)**
/service-workers/service-worker/getregistration.https.html | | | |
**ServiceWorkerContainer.getRegistrations()**
/service-workers/service-worker/getregistrations.https.html | | | |
**ServiceWorkerContainer.startMessages()**
No test yet | | | |
**ServiceWorkerContainer.oncontrollerchange**
/service-workers/service-worker/skip-waiting-using-registration.https.html | | | |
**ServiceWorkerContainer.onmessage**
/service-workers/service-worker/postmessage-to-client.https.html | | | |
**ServiceWorkerContainer.onmessageerror**
No test yet | | | |
**statechange event**
Test | | | |
**updatefound event**
Test | | | |
**controllerchange event**
Test | | | |
**ServiceWorkerGlobalScope**
/service-workers/service-worker/interfaces-sw.https.html | | | |
**ServiceWorkerGlobalScope.clients**
/service-workers/service-worker/interfaces-sw.https.html | | | |
**ServiceWorkerGlobalScope.registration**
/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html | | | |
**ServiceWorkerGlobalScope.skipWaiting()**
/service-workers/service-worker/skip-waiting.https.html | | | |
**ServiceWorkerGlobalScope.oninstall**
/service-workers/service-worker/install-event-type.https.html | | | |
**ServiceWorkerGlobalScope.onactivate**
/service-workers/service-worker/registration-events.https.html | | | |
/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html | | | |
**ServiceWorkerGlobalScope.onfetch**
Test | | | |
**ServiceWorkerGlobalScope.onmessage**
/service-workers/service-worker/postmessage.https.html | | | |
**ServiceWorkerGlobalScope.onmessageerror**
No test yet | | | |
**Client.url**
/service-workers/service-worker/clients-get.https.html | | | |
**Client.id**
/service-workers/service-worker/client-id.https.html | | | |
**Client.type**
/service-workers/service-worker/clients-get.https.html | | | |
**Client.reserved**
Should be removed | | | |
**Client.postMessage(message, transfer)**
Test | | | |
**WindowClient.visibilityState**
/service-workers/service-worker/clients-get.https.html | | | |
**WindowClient.focused**
/service-workers/service-worker/clients-get.https.html | | | |
**WindowClient.ancestorOrigins**
No test yet | | | |
**WindowClient.focus()**
No test yet | | | |
**WindowClient.navigate(url)**
/service-workers/service-worker/client-navigate.https.html | | | |
**Clients.get(id)**
/service-workers/service-worker/clients-get.https.html | | | |
/service-workers/service-worker/clients-get-client-types.https.html | | | |
/service-workers/service-worker/clients-get-cross-origin.https.html | | | |
**Clients.matchAll(options)**
/service-workers/service-worker/clients-matchall.https.html | | | |
/service-workers/service-worker/clients-matchall-client-types.https.html | | | |
/service-workers/service-worker/clients-matchall-exact-controller.https.html | | | |
/service-workers/service-worker/clients-matchall-include-uncontrolled.https.html | | | |
/service-workers/service-worker/clients-matchall-on-evaluation.https.html | | | |
/service-workers/service-worker/clients-matchall-order.https.html | | | |
**Clients.openWindow(url)**
No test yet | | | |
**Clients.claim()**
/service-workers/service-worker/claim-using-registration.https.html | | | |
/service-workers/service-worker/claim-not-using-registration.https.html | | | |
/service-workers/service-worker/claim-affect-other-registration.https.html | | | |
/service-workers/service-worker/claim-fetch.https.html | | | |
/service-workers/service-worker/claim-with-redirect.https.html | | | |
/service-workers/service-worker/claim-worker-fetch.https.html | | | |
**ExtendableEvent.waitUntil(f)**
/service-workers/service-worker/extendable-event-waituntil.https.html | | | |
/service-workers/service-worker/extendable-event-async-waituntil.https.html | | | |
**FetchEvent.request**
Test | | | |
**FetchEvent.clientId**
/service-workers/service-worker/clients-get.https.html | | | |
**FetchEvent.reservedClientId**
Should be removed | | | |
**FetchEvent.targetClientId**
Should be removed | | | |
**FetchEvent.respondWith(r)**
/service-workers/service-worker/fetch-event-async-respond-with.https.html | | | |
/service-workers/service-worker/fetch-event-respond-with-argument.https.html | | | |
/service-workers/service-worker/fetch-event-respond-with-partial-stream.https.html | | | |
/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html | | | |
/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html | | | |
/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html | | | |
**ExtendableMessageEvent.data**
/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html | | | |
**ExtendableMessageEvent.origin**
/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html | | | |
**ExtendableMessageEvent.lastEventId**
/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html | | | |
**ExtendableMessageEvent.source**
/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html | | | |
**ExtendableMessageEvent.ports**
/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https.html | | | |
**Events**
Test | | | |
**self.caches**
/service-workers/service-worker/interfaces-sw.https.html | | | |
**Cache.match(request, options)**
/service-workers/cache-storage/serviceworker/cache-match.https.html | | | |
/service-workers/cache-storage/window/cache-match.https.html | | | |
/service-workers/cache-storage/worker/cache-match.https.html | | | |
**Cache.matchAll(request, options)**
/service-workers/cache-storage/serviceworker/cache-matchAll.https.html | | | |
/service-workers/cache-storage/window/cache-matchAll.https.html | | | |
/service-workers/cache-storage/worker/cache-matchAll.https.html | | | |
**Cache.add(request)**
/service-workers/cache-storage/serviceworker/cache-add.https.html | | | |
/service-workers/cache-storage/window/cache-add.https.html | | | |
/service-workers/cache-storage/worker/cache-add.https.html | | | |
**Cache.addAll(requests)**
/service-workers/cache-storage/serviceworker/cache-add.https.html | | | |
/service-workers/cache-storage/window/cache-add.https.html | | | |
/service-workers/cache-storage/worker/cache-add.https.html | | | |
**Cache.put(request, response)**
/service-workers/cache-storage/serviceworker/cache-put.https.html | | | |
/service-workers/cache-storage/window/cache-put.https.html | | | |
/service-workers/cache-storage/worker/cache-put.https.html | | | |
**Cache.delete(request, options)**
/service-workers/cache-storage/serviceworker/cache-delete.https.html | | | |
/service-workers/cache-storage/window/cache-delete.https.html | | | |
/service-workers/cache-storage/worker/cache-delete.https.html | | | |
**Cache.keys(request, options)**
/service-workers/cache-storage/serviceworker/cache-keys.https.html | | | |
/service-workers/cache-storage/window/cache-keys.https.html | | | |
/service-workers/cache-storage/worker/cache-keys.https.html | | | |
**CacheStorage.match(request, options)**
/service-workers/cache-storage/serviceworker/cache-storage-match.https.html | | | |
/service-workers/cache-storage/window/cache-storage-match.https.html | | | |
/service-workers/cache-storage/worker/cache-storage-match.https.html | | | |
**CacheStorage.has(cacheName)**
/service-workers/cache-storage/serviceworker/cache-storage.https.html | | | |
/service-workers/cache-storage/window/cache-storage.https.html | | | |
/service-workers/cache-storage/worker/cache-storage.https.html | | | |
**CacheStorage.open(cacheName)**
/service-workers/cache-storage/serviceworker/cache-storage.https.html | | | |
/service-workers/cache-storage/window/cache-storage.https.html | | | |
/service-workers/cache-storage/worker/cache-storage.https.html | | | |
**CacheStorage.delete(cacheName)**
/service-workers/cache-storage/serviceworker/cache-storage.https.html | | | |
/service-workers/cache-storage/window/cache-storage.https.html | | | |
/service-workers/cache-storage/worker/cache-storage.https.html | | | |
**CacheStorage.keys()**
/service-workers/cache-storage/serviceworker/cache-storage-keys.https.html | | | |
/service-workers/cache-storage/window/cache-storage-keys.https.html | | | |
/service-workers/cache-storage/worker/cache-storage-keys.https.html | | | |
**importScripts(urls)**
Test | | | |
**Install algorithm**
/service-workers/service-worker/activate-event-after-install-state-change.https.html | | | |
/service-workers/service-worker/activation-after-registration.https.html | | | |
**Activate algorithm**
/service-workers/service-worker/active.https.html | | | |
/service-workers/service-worker/appcache-ordering-main.https.html | | | |
**Handle Fetch algorithm**
/service-workers/service-worker/claim-shared-worker-fetch.https.html | | | |
/service-workers/service-worker/fetch-event-after-navigation-within-page.https.html | | | |
/service-workers/service-worker/fetch-event-network-error.https.html | | | |
/service-workers/service-worker/fetch-event-throws-after-respond-with.https.html | | | |
/service-workers/service-worker/fetch-event-within-sw.https.html | | | |
/service-workers/service-worker/fetch-event.https.html | | | |
**Accessing JS objects from detached frame**
/service-workers/service-worker/detached-context.https.html | | | |
**Fetch**
/service-workers/service-worker/fetch-canvas-tainting-cache.https.html | | | |
/service-workers/service-worker/fetch-canvas-tainting.https.html | | | |
/service-workers/service-worker/fetch-csp.https.html | | | |
/service-workers/service-worker/fetch-cors-xhr.https.html | | | |
/service-workers/service-worker/fetch-event-redirect.https.html | | | |
/service-workers/service-worker/fetch-event-referrer-policy.https.html | | | |
**HTML**
/service-workers/service-worker/fetch-event-within-sw-manual.https.html | | | |