/* -*- 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 ); };