mirror of
https://github.com/servo/servo.git
synced 2025-07-01 12:33:40 +01:00
103 lines
3.1 KiB
HTML
103 lines
3.1 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>Notification interface IDL tests</title>
|
|
<div id=log></div>
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
<script src=/resources/WebIDLParser.js></script>
|
|
<script src=/resources/idlharness.js></script>
|
|
<script type=text/plain class=untested>
|
|
interface EventTarget {
|
|
void addEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */);
|
|
void removeEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */);
|
|
boolean dispatchEvent(Event event);
|
|
};
|
|
[TreatNonCallableAsNull]
|
|
callback EventHandlerNonNull = any (Event event);
|
|
typedef EventHandlerNonNull? EventHandler;
|
|
</script>
|
|
<script type=text/plain>
|
|
[Constructor(DOMString title, optional NotificationOptions options),
|
|
Exposed=(Window,Worker)]
|
|
interface Notification : EventTarget {
|
|
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;
|
|
|
|
readonly attribute DOMString title;
|
|
readonly attribute NotificationDirection dir;
|
|
readonly attribute DOMString lang;
|
|
readonly attribute DOMString body;
|
|
readonly attribute DOMString tag;
|
|
readonly attribute USVString image;
|
|
readonly attribute USVString icon;
|
|
readonly attribute USVString badge;
|
|
[SameObject] readonly attribute FrozenArray<unsigned long> vibrate;
|
|
readonly attribute DOMTimeStamp timestamp;
|
|
readonly attribute boolean renotify;
|
|
readonly attribute boolean silent;
|
|
readonly attribute boolean requireInteraction;
|
|
[SameObject] readonly attribute any data;
|
|
[SameObject] readonly attribute FrozenArray<NotificationAction> actions;
|
|
|
|
void close();
|
|
};
|
|
|
|
dictionary NotificationOptions {
|
|
NotificationDirection dir = "auto";
|
|
DOMString lang = "";
|
|
DOMString body = "";
|
|
DOMString tag = "";
|
|
USVString image;
|
|
USVString icon;
|
|
USVString badge;
|
|
VibratePattern vibrate;
|
|
DOMTimeStamp timestamp;
|
|
boolean renotify = false;
|
|
boolean silent = false;
|
|
boolean requireInteraction = false;
|
|
any data = null;
|
|
sequence<NotificationAction> actions = [];
|
|
};
|
|
|
|
enum NotificationPermission {
|
|
"default",
|
|
"denied",
|
|
"granted"
|
|
};
|
|
|
|
enum NotificationDirection {
|
|
"auto",
|
|
"ltr",
|
|
"rtl"
|
|
};
|
|
|
|
dictionary NotificationAction {
|
|
required DOMString action;
|
|
required DOMString title;
|
|
USVString icon;
|
|
};
|
|
|
|
callback NotificationPermissionCallback = void (NotificationPermission permission);
|
|
</script>
|
|
<script>
|
|
"use strict";
|
|
var idlArray = new IdlArray();
|
|
[].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) {
|
|
if (node.className == "untested") {
|
|
idlArray.add_untested_idls(node.textContent);
|
|
} else {
|
|
idlArray.add_idls(node.textContent);
|
|
}
|
|
});
|
|
idlArray.add_objects({
|
|
Notification: ['new Notification("Running idlharness.")'],
|
|
});
|
|
idlArray.test();
|
|
</script>
|