Source code

Revision control

Copy as Markdown

Other Tools

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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 http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
interface nsIPrincipal;
[scriptable, uuid(55051271-52a2-48c6-9a47-2aff6baf1d7b)]
interface nsINotificationHandler : nsISupports
{
/**
* Either ping the service worker corresponding to the notification, or open
* a new window if none is found.
*
* The principal and notification ID must match the values stored in DB to
* call the service worker, otherwise it'll behave as if none is found.
*
* @param aPrincipal The principal that this notification is for.
* @param aNotificationID The ID for the notification.
* Corresponding to `nsINotificationStorageEntry.id` and
* `nsIAlertNotification.id`.
* @param aActionName The notification action in case the action button is
* clicked.
* @param aAutoClosed Whether the notification is auto-closed by system after
* a click, e.g. on Windows. Checking this will remove the
* notification from the DB.
*/
Promise respondOnClick(
in nsIPrincipal aPrincipal,
in AString aNotificationId,
in AString aActionName,
in boolean aAutoClosed
);
};