tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nsINotificationHandler.idl (1400B)


      1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 #include "nsISupports.idl"
      7 
      8 interface nsIPrincipal;
      9 
     10 [scriptable, uuid(55051271-52a2-48c6-9a47-2aff6baf1d7b)]
     11 interface nsINotificationHandler : nsISupports
     12 {
     13  /**
     14   * Either ping the service worker corresponding to the notification, or open
     15   * a new window if none is found.
     16   *
     17   * The principal and notification ID must match the values stored in DB to
     18   * call the service worker, otherwise it'll behave as if none is found.
     19   *
     20   * @param aPrincipal The principal that this notification is for.
     21   * @param aNotificationID The ID for the notification.
     22   *        Corresponding to `nsINotificationStorageEntry.id` and
     23   *        `nsIAlertNotification.id`.
     24   * @param aActionName The notification action in case the action button is
     25   *        clicked.
     26   * @param aAutoClosed Whether the notification is auto-closed by system after
     27   *        a click, e.g. on Windows. Checking this will remove the
     28   *        notification from the DB.
     29   */
     30  Promise respondOnClick(
     31    in nsIPrincipal aPrincipal,
     32    in AString aNotificationId,
     33    in AString aActionName,
     34    in boolean aAutoClosed
     35  );
     36 };