summaryrefslogtreecommitdiffstats
path: root/toolkit/components/alerts/nsIWindowsAlertsService.idl
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/alerts/nsIWindowsAlertsService.idl')
-rw-r--r--toolkit/components/alerts/nsIWindowsAlertsService.idl69
1 files changed, 69 insertions, 0 deletions
diff --git a/toolkit/components/alerts/nsIWindowsAlertsService.idl b/toolkit/components/alerts/nsIWindowsAlertsService.idl
new file mode 100644
index 0000000000..6f39fd321f
--- /dev/null
+++ b/toolkit/components/alerts/nsIWindowsAlertsService.idl
@@ -0,0 +1,69 @@
+/* -*- 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 "nsIAlertsService.idl"
+#include "nsISupports.idl"
+#include "nsIObserver.idl"
+
+[scriptable, function, uuid(059f8305-4e2f-4d31-a9cb-5b918ee84773)]
+interface nsIUnknownWindowsTagListener : nsISupports
+{
+ /**
+ * Handle any launch URL associated to the given Windows-specific tag string.
+ * Usually, this will navigate to the launch URL in some manner.
+ *
+ * @param {AString} aWindowsTag the tag
+ * @param {AString} aLaunchURL associated launch URL, or null.
+ * @param {AString} aPrivilegedName associated alert name if this is a chrome
+ * privileged alert, or null.
+ */
+ void handleUnknownWindowsTag(in AString aWindowsTag,
+ in AString aLaunchURL,
+ in AString aPrivilegedName);
+};
+
+[scriptable, uuid(e01c8066-fb4b-4304-b9c9-ab6ed4a8322c)]
+interface nsIWindowsAlertsService : nsIAlertsService
+{
+ /**
+ * If callbacks for the given Windows-specific tag string will be handled by
+ * this Firefox process, set the associated event.
+ *
+ * @param {AString} aWindowsTag the tag
+ * @return {Promise}
+ * @resolves {Object}
+ * Resolves with an Object, may contain the following optional
+ * properties if notification exists but wasn't registered with
+ * the WindowsAlertService:
+ *
+ * `launchUrl` {string} a fallback URL to open.
+ *
+ * `privilegedName` {string} a privileged name assigned by the
+ * browser chrome.
+ *
+ * @rejects `nsresult` when there was an error retrieving the notification.
+ */
+ [implicit_jscontext]
+ Promise handleWindowsTag(in AString aWindowsTag);
+
+ /**
+ * Get the Windows-specific XML generated for the given alert.
+ *
+ * @note This method is intended for testing purposes.
+ *
+ * @param {nsIAlertNotification} aAlert the alert
+ * @param {AString} an optional Windows tag; default is generated
+ * @return {string} generated XML
+ */
+ AString getXmlStringForWindowsAlert(in nsIAlertNotification aAlert,
+ [optional] in AString aWindowsTag);
+
+ /**
+ * Removes all action center and snoozed notifications associated with this
+ * install. Note that this removes all notifications regardless of which profile
+ * they originated from.
+ */
+ void removeAllNotificationsForInstall();
+};