wasm-bindgen/crates/web-sys/webidls/enabled/PushSubscription.webidl
Richard Dodd (dodj) 71255acf5d Try to enable all webidls (#573)
* Try to enable all webidls

* Separate out unavailable webidl files by reason.

* Create record of fully tested WebIDL files

* Update notes to reflect new situation with web-idl

* Make a blank ident fail, disable the necessary widls.

It turns out that all the blank idents came from blank enum variants,
which is allowed in webidl apparently.
2018-07-29 16:07:19 -07:00

55 lines
1.2 KiB
Plaintext
Vendored

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* https://w3c.github.io/push-api/
*/
// invalid widl
// interface Principal;
enum PushEncryptionKeyName
{
"p256dh",
"auth"
};
dictionary PushSubscriptionKeys
{
ByteString p256dh;
ByteString auth;
};
dictionary PushSubscriptionJSON
{
USVString endpoint;
PushSubscriptionKeys keys;
};
dictionary PushSubscriptionInit
{
required USVString endpoint;
required USVString scope;
ArrayBuffer? p256dhKey;
ArrayBuffer? authSecret;
BufferSource? appServerKey;
};
[Exposed=(Window,Worker), Func="mozilla::dom::DOMPrefs::PushEnabled",
ChromeConstructor(PushSubscriptionInit initDict)]
interface PushSubscription
{
readonly attribute USVString endpoint;
readonly attribute PushSubscriptionOptions options;
[Throws]
ArrayBuffer? getKey(PushEncryptionKeyName name);
[Throws, UseCounter]
Promise<boolean> unsubscribe();
// Implements the custom serializer specified in Push API, section 9.
[Throws]
PushSubscriptionJSON toJSON();
};