mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-05 06:32:30 +02:00
The full constructor for NotificationsAPI::Notification is implemented along with the getter methods. It is now possible to call the elements of Notification in JS without getting undefined but the default values (or the ones passed in options). The method `current_wall_time` is added in EnvironmentSettingsObject. This passes a least a few more tests because of the getter methods that are created. https://wpt.live/notifications/constructor-basic.https.html https://wpt.live/notifications/idlharness.https.any.html
33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
// META: global=window,worker
|
|
// META: script=/resources/WebIDLParser.js
|
|
// META: script=/resources/idlharness.js
|
|
|
|
'use strict';
|
|
|
|
// https://notifications.spec.whatwg.org/
|
|
|
|
idl_test(
|
|
['notifications'],
|
|
['service-workers', 'hr-time', 'html', 'dom'],
|
|
idl_array => {
|
|
if (self.ServiceWorkerGlobalScope) {
|
|
idl_array.add_objects({
|
|
ServiceWorkerGlobalScope: ['self'],
|
|
});
|
|
// NotificationEvent could be tested here, but the constructor requires
|
|
// a Notification instance which cannot be created in a service worker,
|
|
// see below.
|
|
} else {
|
|
// While the Notification interface is exposed in service workers, the
|
|
// constructor (https://notifications.spec.whatwg.org/#dom-notification-notification)
|
|
// is defined to throw a TypeError. Therefore, we only add the object in
|
|
// the other scopes.
|
|
idl_array.add_objects({
|
|
Notification: ['notification'],
|
|
});
|
|
self.notification = new Notification('title');
|
|
self.notification.close();
|
|
}
|
|
}
|
|
);
|