/
githubmirror
/
servo
Обзор
Документация
Войти
/
githubmirror
/
servo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
components/script_bindings/webidls/Notification.webidl
113 строк
3 KB
Jason Tsai
feat: add `Notification` Web API binding (#34842)
18 фев 2025, 19:56
Не верифицирован
18 фев 2025, 19:56
22c3a63
Код
Авторство
О чём код?
/* 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 https://mozilla.org/MPL/2.0/. */ // https://notifications.spec.whatwg.org/#api [Exposed=(Window,Worker), Pref="dom_notification_enabled"] interface Notification : EventTarget { [Throws] constructor(DOMString title, optional NotificationOptions options = {}); [GetterThrows] static readonly attribute NotificationPermission permission; [Exposed=Window] static Promise<NotificationPermission> requestPermission(optional NotificationPermissionCallback deprecatedCallback); static readonly attribute unsigned long maxActions; attribute EventHandler onclick; attribute EventHandler onshow; attribute EventHandler onerror; attribute EventHandler onclose; [Pure] readonly attribute DOMString title; [Pure] readonly attribute NotificationDirection dir; [Pure] readonly attribute DOMString lang; [Pure] readonly attribute DOMString body; [Constant] readonly attribute DOMString tag; [Pure] readonly attribute USVString image; [Pure] readonly attribute USVString icon; [Pure] readonly attribute USVString badge; readonly attribute boolean renotify; [Constant] readonly attribute boolean requireInteraction; [Constant] readonly attribute boolean? silent; // [Cached, Frozen, Pure] readonly attribute /*FrozenArray<<unsigned long>*/any vibrate; readonly attribute EpochTimeStamp timestamp; [Constant] readonly attribute any data; // [Cached, Frozen, Pure] readonly attribute /*FrozenArray<NotificationAction>*/any actions; undefined close(); }; // <https://w3c.github.io/hr-time/#dom-epochtimestamp> typedef unsigned long long EpochTimeStamp; typedef (unsigned long or sequence<unsigned long>) VibratePattern; dictionary NotificationOptions { NotificationDirection dir = "auto"; DOMString lang = ""; DOMString body = ""; DOMString tag = ""; USVString image; USVString icon; USVString badge; VibratePattern vibrate; EpochTimeStamp timestamp; boolean renotify = false; boolean? silent = null; boolean requireInteraction = false; any data = null; sequence<NotificationAction> actions = []; }; dictionary GetNotificationOptions { DOMString tag = ""; }; enum NotificationPermission { "default", "denied", "granted" }; callback NotificationPermissionCallback = undefined (NotificationPermission permission); enum NotificationDirection { "auto", "ltr", "rtl" }; dictionary NotificationAction { required DOMString action; required DOMString title; USVString icon; };