diff -r 000000000000 -r 6474c204b198 toolkit/components/alerts/nsIAlertsService.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/components/alerts/nsIAlertsService.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,106 @@ +/* -*- 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" +#include "nsIObserver.idl" + +interface nsIPrincipal; + +[scriptable, uuid(160e87e1-d57d-456b-b6ea-17826f6ea7a8)] +interface nsIAlertsService : nsISupports +{ + /** + * Displays a sliding notification window. + * + * @param imageUrl A URL identifying the image to put in the alert. + * The OS X implemenation limits the amount of time it + * will wait for an icon to load to six seconds. After + * that time the alert will show with no icon. + * @param title The title for the alert. + * @param text The contents of the alert. + * @param textClickable If true, causes the alert text to look like a link + * and notifies the listener when user attempts to + * click the alert text. + * @param cookie A blind cookie the alert will pass back to the + * consumer during the alert listener callbacks. + * @param alertListener Used for callbacks. May be null if the caller + * doesn't care about callbacks. + * @param name The name of the notification. This is currently only + * used on Android and OS X. On Android the name is + * hashed and used as a notification ID. Notifications + * will replace previous notifications with the same name. + * @param dir Bidi override for the title. Valid values are + * "auto", "ltr" or "rtl". Only available on supported + * platforms. + * @param lang Language of title and text of the alert. Only available + * on supported platforms. + * @throws NS_ERROR_NOT_AVAILABLE If the notification cannot be displayed. + * + * The following arguments will be passed to the alertListener's observe() + * method: + * subject - null + * topic - "alertfinished" when the alert goes away + * "alertclickcallback" when the text is clicked + * "alertshow" when the alert is shown + * data - the value of the cookie parameter passed to showAlertNotification. + * + * @note Depending on current circumstances (if the user's in a fullscreen + * application, for instance), the alert might not be displayed at all. + * In that case, if an alert listener is passed in it will receive the + * "alertfinished" notification immediately. + */ + void showAlertNotification(in AString imageUrl, + in AString title, + in AString text, + [optional] in boolean textClickable, + [optional] in AString cookie, + [optional] in nsIObserver alertListener, + [optional] in AString name, + [optional] in AString dir, + [optional] in AString lang, + [optional] in nsIPrincipal principal); + + /** + * Close alerts created by the service. + * + * @param name The name of the notification to close. If no name + * is provided then only a notification created with + * no name (if any) will be closed. + */ + void closeAlert([optional] in AString name, + [optional] in nsIPrincipal principal); +}; + +[scriptable, uuid(df1bd4b0-3a8c-40e6-806a-203f38b0bd9f)] +interface nsIAlertsProgressListener : nsISupports +{ + /** + * Called to notify the alert service that progress has occurred for the + * given notification previously displayed with showAlertNotification(). + * + * @param name The name of the notification displaying the + * progress. On Android the name is hashed and used + * as a notification ID. + * @param progress Numeric value in the range 0 to progressMax + * indicating the current progress. + * @param progressMax Numeric value indicating the maximum progress. + * @param text The contents of the alert. If not provided, + * the percentage will be displayed. + */ + void onProgress(in AString name, + in long long progress, + in long long progressMax, + [optional] in AString text); + + /** + * Called to cancel and hide the given notification previously displayed + * with showAlertNotification(). + * + * @param name The name of the notification. + */ + void onCancel(in AString name); +}; +