The ExtendableCookieChangeEvent interface of the'Cookie Store API' is the event type passed to ServiceWorkerRegistration.oncookiechange() when any cookie changes occur. A cookie change event consists of a cookie and a type (either "changed" or "deleted".)
Cookie changes that cause the ExtendableCookieChangeEvent to be dispatched are:
A cookie is newly created and not immediately removed. In this case type is "changed".
A cookie is newly created and immediately removed. In this case type is "deleted"
A cookie is removed. In this case type is "deleted".
Note: A cookie that is replaced due to the insertion of another cookie with the same name, domain, and path, is ignored and does not trigger a change event.
In the below example we use CookieStoreManager.getSubscriptions() to get a list of existing subscriptions. (In service workers, a subscription is required in order to listen for events.) We unsubscribe from existing subscriptions using CookieStoreManager.unsubscribe(), then subscribe to the cookie with a name of 'COOKIE_NAME' using CookieStoreManager.subscribe(). If that cookie is changed, the event listener logs the event to the console. This will be an ExtendableCookieChangeEvent object, with the changed or deleted property containing the modified cookie.