blob: 62bdefe6094e9df9069ee0249303c829425ec4c9 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://w3c.github.io/push-api/#pushsubscription-interface
enum PushEncryptionKeyName {
"p256dh",
"auth"
};
[
Exposed=(Window,Worker),
RuntimeEnabled=PushMessaging
] interface PushSubscription {
readonly attribute USVString endpoint;
readonly attribute DOMTimeStamp? expirationTime;
[SameObject] readonly attribute PushSubscriptionOptions options;
ArrayBuffer? getKey(PushEncryptionKeyName name);
[CallWith=ScriptState] Promise<boolean> unsubscribe();
// TODO(peria): Return type should be PushSubscriptionJSON.
[CallWith=ScriptState, ImplementedAs=toJSONForBinding] object toJSON();
};