// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: Push API (https://w3c.github.io/push-api/) dictionary PushPermissionDescriptor : PermissionDescriptor { boolean userVisibleOnly = false; }; [SecureContext] partial interface ServiceWorkerRegistration { readonly attribute PushManager pushManager; }; [Exposed=(Window,Worker), SecureContext] interface PushManager { [SameObject] static readonly attribute FrozenArray supportedContentEncodings; Promise subscribe(optional PushSubscriptionOptionsInit options = {}); Promise getSubscription(); Promise permissionState(optional PushSubscriptionOptionsInit options = {}); }; [Exposed=(Window,Worker), SecureContext] interface PushSubscriptionOptions { readonly attribute boolean userVisibleOnly; [SameObject] readonly attribute ArrayBuffer? applicationServerKey; }; dictionary PushSubscriptionOptionsInit { boolean userVisibleOnly = false; (BufferSource or DOMString)? applicationServerKey = null; }; [Exposed=(Window,Worker), SecureContext] interface PushSubscription { readonly attribute USVString endpoint; readonly attribute EpochTimeStamp? expirationTime; [SameObject] readonly attribute PushSubscriptionOptions options; ArrayBuffer? getKey(PushEncryptionKeyName name); Promise unsubscribe(); PushSubscriptionJSON toJSON(); }; dictionary PushSubscriptionJSON { USVString endpoint; EpochTimeStamp? expirationTime = null; record keys; }; enum PushEncryptionKeyName { "p256dh", "auth" }; [Exposed=ServiceWorker, SecureContext] interface PushMessageData { ArrayBuffer arrayBuffer(); Blob blob(); any json(); USVString text(); }; [Exposed=ServiceWorker, SecureContext] partial interface ServiceWorkerGlobalScope { attribute EventHandler onpush; attribute EventHandler onpushsubscriptionchange; }; [Exposed=ServiceWorker, SecureContext] interface PushEvent : ExtendableEvent { constructor(DOMString type, optional PushEventInit eventInitDict = {}); readonly attribute PushMessageData? data; }; typedef (BufferSource or USVString) PushMessageDataInit; dictionary PushEventInit : ExtendableEventInit { PushMessageDataInit data; }; [Exposed=ServiceWorker, SecureContext] interface PushSubscriptionChangeEvent : ExtendableEvent { constructor(DOMString type, optional PushSubscriptionChangeEventInit eventInitDict = {}); readonly attribute PushSubscription? newSubscription; readonly attribute PushSubscription? oldSubscription; }; dictionary PushSubscriptionChangeEventInit : ExtendableEventInit { PushSubscription newSubscription = null; PushSubscription oldSubscription = null; };