Alarm API allows applications to schedule notification at a specific time in the future. For example, some applications like alarm-clock, calendar or auto-update might need to utilize the Alarm API to trigger particular device behaviors at specified time points.
Alarms persist after reboot. When bootup, all expired alarms are fired immediately. When an alarm is fired, it is dispatched to applications through the System Message API, so applications which want to react to alarms have to register themselves to the alarm messages.
Alarm API exposes to both Window and Worker scope.
Applications need to subscribe system message of type "alarm" to receive alarm messages.