159 lines
4.3 KiB
Plaintext
159 lines
4.3 KiB
Plaintext
namespace org.w3c.notifications;
|
|
|
|
|
|
// Downloaded from https://raw.githubusercontent.com/whatwg/notifications/master/notifications.html
|
|
[Constructor(DOMString title, optional NotificationOptions options),
|
|
Exposed=(Window,Worker)]
|
|
interface Notification : EventTarget {
|
|
static readonly attribute NotificationPermission permission;
|
|
[Exposed=Window] static void requestPermission(optional NotificationPermissionCallback callback);
|
|
|
|
attribute EventHandler onclick;
|
|
attribute EventHandler onerror;
|
|
|
|
readonly attribute DOMString title;
|
|
readonly attribute NotificationDirection dir;
|
|
readonly attribute DOMString lang;
|
|
readonly attribute DOMString body;
|
|
readonly attribute DOMString tag;
|
|
readonly attribute USVString icon;
|
|
readonly attribute USVString sound;
|
|
// vibrate not exposed for now; see bug 23682
|
|
readonly attribute boolean renotify;
|
|
readonly attribute boolean silent;
|
|
readonly attribute boolean noscreen;
|
|
readonly attribute boolean sticky;
|
|
[SameObject] readonly attribute any data;
|
|
|
|
void close();
|
|
};
|
|
|
|
dictionary NotificationOptions {
|
|
NotificationDirection dir = "auto";
|
|
DOMString lang = "";
|
|
DOMString body = "";
|
|
DOMString tag = "";
|
|
USVString icon;
|
|
USVString sound;
|
|
VibratePattern vibrate;
|
|
boolean renotify = false;
|
|
boolean silent = false;
|
|
boolean noscreen = false;
|
|
boolean sticky = false;
|
|
any data = null;
|
|
};
|
|
|
|
enum NotificationPermission {
|
|
"default",
|
|
"denied",
|
|
"granted"
|
|
};
|
|
|
|
callback NotificationPermissionCallback = void (NotificationPermission permission);
|
|
|
|
enum NotificationDirection {
|
|
"auto",
|
|
"ltr",
|
|
"rtl"
|
|
};
|
|
dictionary GetNotificationOptions {
|
|
DOMString tag = "";
|
|
};
|
|
|
|
partial interface ServiceWorkerRegistration {
|
|
Promise<void> showNotification(DOMString title, optional NotificationOptions options);
|
|
Promise<sequence<Notification>> getNotifications(optional GetNotificationOptions filter);
|
|
};
|
|
|
|
[Constructor(DOMString type, optional NotificationEventInit eventInitDict),
|
|
Exposed=ServiceWorker]
|
|
interface NotificationEvent : ExtendableEvent {
|
|
readonly attribute Notification notification;
|
|
};
|
|
|
|
dictionary NotificationEventInit : ExtendableEventInit {
|
|
required Notification notification;
|
|
};
|
|
|
|
partial interface ServiceWorkerGlobalScope {
|
|
attribute EventHandler onnotificationclick;
|
|
};
|
|
[Constructor(DOMString title, optional NotificationOptions options),
|
|
Exposed=(Window,Worker)]
|
|
interface Notification : EventTarget {
|
|
static readonly attribute NotificationPermission permission;
|
|
[Exposed=Window] static void requestPermission(optional NotificationPermissionCallback callback);
|
|
|
|
attribute EventHandler onclick;
|
|
attribute EventHandler onerror;
|
|
|
|
readonly attribute DOMString title;
|
|
readonly attribute NotificationDirection dir;
|
|
readonly attribute DOMString lang;
|
|
readonly attribute DOMString body;
|
|
readonly attribute DOMString tag;
|
|
readonly attribute USVString icon;
|
|
readonly attribute USVString sound;
|
|
// vibrate not exposed for now; see bug 23682
|
|
readonly attribute boolean renotify;
|
|
readonly attribute boolean silent;
|
|
readonly attribute boolean noscreen;
|
|
readonly attribute boolean sticky;
|
|
[SameObject] readonly attribute any data;
|
|
|
|
void close();
|
|
};
|
|
|
|
dictionary NotificationOptions {
|
|
NotificationDirection dir = "auto";
|
|
DOMString lang = "";
|
|
DOMString body = "";
|
|
DOMString tag = "";
|
|
USVString icon;
|
|
USVString sound;
|
|
VibratePattern vibrate;
|
|
boolean renotify = false;
|
|
boolean silent = false;
|
|
boolean noscreen = false;
|
|
boolean sticky = false;
|
|
any data = null;
|
|
};
|
|
|
|
enum NotificationPermission {
|
|
"default",
|
|
"denied",
|
|
"granted"
|
|
};
|
|
|
|
callback NotificationPermissionCallback = void (NotificationPermission permission);
|
|
|
|
enum NotificationDirection {
|
|
"auto",
|
|
"ltr",
|
|
"rtl"
|
|
};
|
|
|
|
dictionary GetNotificationOptions {
|
|
DOMString tag = "";
|
|
};
|
|
|
|
partial interface ServiceWorkerRegistration {
|
|
Promise<void> showNotification(DOMString title, optional NotificationOptions options);
|
|
Promise<sequence<Notification>> getNotifications(optional GetNotificationOptions filter);
|
|
};
|
|
|
|
[Constructor(DOMString type, optional NotificationEventInit eventInitDict),
|
|
Exposed=ServiceWorker]
|
|
interface NotificationEvent : ExtendableEvent {
|
|
readonly attribute Notification notification;
|
|
};
|
|
|
|
dictionary NotificationEventInit : ExtendableEventInit {
|
|
required Notification notification;
|
|
};
|
|
|
|
partial interface ServiceWorkerGlobalScope {
|
|
attribute EventHandler onnotificationclick;
|
|
};
|
|
|