mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-26 10:27:32 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
133
dom/interfaces/notification/nsINotificationStorage.idl
Normal file
133
dom/interfaces/notification/nsINotificationStorage.idl
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
/* 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 "domstubs.idl"
|
||||
|
||||
[scriptable, uuid(c1622232-259c-43b0-b52e-89c39dcd9796)]
|
||||
interface nsINotificationStorageCallback : nsISupports
|
||||
{
|
||||
/**
|
||||
* Callback function used to pass single notification back
|
||||
* into C++ land for Notification.get return data.
|
||||
*
|
||||
* @param id: a uuid for this notification
|
||||
* @param title: the notification title
|
||||
* @param dir: the notification direction,
|
||||
* possible values are "ltr", "rtl", "auto"
|
||||
* @param lang: the notification language
|
||||
* @param body: the notification body
|
||||
* @param tag: the notification tag
|
||||
*/
|
||||
void handle(in DOMString id,
|
||||
in DOMString title,
|
||||
in DOMString dir,
|
||||
in DOMString lang,
|
||||
in DOMString body,
|
||||
in DOMString tag,
|
||||
in DOMString icon,
|
||||
in DOMString data,
|
||||
in DOMString behavior,
|
||||
in DOMString serviceWorkerRegistrationScope);
|
||||
|
||||
/**
|
||||
* Callback function used to notify C++ the we have returned
|
||||
* all notification objects for this Notification.get call.
|
||||
*/
|
||||
void done();
|
||||
};
|
||||
|
||||
/**
|
||||
* Interface for notification persistence layer.
|
||||
*/
|
||||
[scriptable, uuid(17f85e52-fe57-440e-9ba1-5c312ca02b95)]
|
||||
interface nsINotificationStorage : nsISupports
|
||||
{
|
||||
|
||||
/**
|
||||
* Add/replace a notification to the persistence layer.
|
||||
*
|
||||
* @param origin: the origin/app of this notification
|
||||
* @param id: a uuid for this notification
|
||||
* @param title: the notification title
|
||||
* @param dir: the notification direction,
|
||||
* possible values are "ltr", "rtl", "auto"
|
||||
* @param lang: the notification language
|
||||
* @param body: the notification body
|
||||
* @param tag: notification tag, will replace any existing
|
||||
* notifications with same origin/tag pair
|
||||
* @param alertName: the alert identifier as used by system app.
|
||||
* Stored in the database to avoid re-computing
|
||||
* it. Built from origin and tag or id depending
|
||||
* whether there is a tag defined.
|
||||
* @param registrationID: Opaque string that identifies the service worker
|
||||
* registration this Notification is associated with.
|
||||
* May be empty. Only set for Notifications created by
|
||||
* showNotification().
|
||||
*/
|
||||
void put(in DOMString origin,
|
||||
in DOMString id,
|
||||
in DOMString title,
|
||||
in DOMString dir,
|
||||
in DOMString lang,
|
||||
in DOMString body,
|
||||
in DOMString tag,
|
||||
in DOMString icon,
|
||||
in DOMString alertName,
|
||||
in DOMString data,
|
||||
in DOMString behavior,
|
||||
in DOMString serviceWorkerRegistrationScope);
|
||||
|
||||
/**
|
||||
* Retrieve a list of notifications.
|
||||
*
|
||||
* @param origin: the origin/app for which to fetch notifications from
|
||||
* @param tag: used to fetch only a specific tag
|
||||
* @param callback: nsINotificationStorageCallback, used for
|
||||
* returning notifications objects
|
||||
*/
|
||||
void get(in DOMString origin,
|
||||
in DOMString tag,
|
||||
in nsINotificationStorageCallback aCallback);
|
||||
|
||||
/**
|
||||
* Retrieve a notification by ID.
|
||||
*
|
||||
* @param origin: the origin/app for which to fetch notifications.
|
||||
* @param id: the id of the notification.
|
||||
* @param callback: nsINotificationStorageCallback whose Handle method will
|
||||
* be called *at most once* if the notification with that ID is found. Not
|
||||
* called if that ID is not found. Done() will be called right after
|
||||
* Handle().
|
||||
*/
|
||||
void getByID(in DOMString origin,
|
||||
in DOMString id,
|
||||
in nsINotificationStorageCallback aCallback);
|
||||
|
||||
/**
|
||||
* Remove a notification from storage.
|
||||
*
|
||||
* @param origin: the origin/app to delete the notification from
|
||||
* @param id: the uuid for the notification to delete
|
||||
*/
|
||||
void delete(in DOMString origin,
|
||||
in DOMString id);
|
||||
|
||||
/**
|
||||
* Notifications are not supposed to be persistent, according to spec, at
|
||||
* least for now. But we want to be able to have this behavior on B2G. Thus,
|
||||
* this method will check if the origin sending the notifications is a valid
|
||||
* registered app with a manifest or not. Hence, a webpage that has none
|
||||
* will have its notification sent and available (via Notification.get())
|
||||
* during the life time of the page.
|
||||
*
|
||||
* @param origin: Origin from which the notification is sent.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
boolean canPut(in DOMString origin);
|
||||
};
|
||||
|
||||
%{C++
|
||||
#define NS_NOTIFICATION_STORAGE_CONTRACTID "@mozilla.org/notificationStorage;1"
|
||||
%}
|
||||
Loading…
Add table
Add a link
Reference in a new issue