| Index: chrome/common/extensions/api/experimental_notification.idl
|
| diff --git a/chrome/common/extensions/api/experimental_notification.idl b/chrome/common/extensions/api/experimental_notification.idl
|
| index 1af49c245d3f7cb84bc70036782bd0c346254946..582c9b63153f69c753f10c17994e6f2836571a0d 100644
|
| --- a/chrome/common/extensions/api/experimental_notification.idl
|
| +++ b/chrome/common/extensions/api/experimental_notification.idl
|
| @@ -3,6 +3,20 @@
|
| // found in the LICENSE file.
|
|
|
| [nodoc] namespace experimental.notification {
|
| + enum TemplateType {
|
| + // icon, title, message
|
| + simple,
|
| +
|
| + // icon, title, message, expandedMessage, up to two buttons
|
| + basic,
|
| +
|
| + // icon, title, message, expandedMessage, image, up to two buttons
|
| + image,
|
| +
|
| + // icon, title, message, items, up to two buttons
|
| + list
|
| + };
|
| +
|
| dictionary NotificationItem {
|
| // Title of one item of a list notification.
|
| DOMString title;
|
| @@ -11,14 +25,17 @@
|
| DOMString message;
|
| };
|
|
|
| + dictionary NotificationButton {
|
| + DOMString title;
|
| + DOMString? iconUrl;
|
| + };
|
| +
|
| dictionary NotificationOptions {
|
| // Which type of notification to display.
|
| - //
|
| - // simple: icon, title, message
|
| - // basic: our MVP, with two buttons, expanded text, etc. TEMPORARY!
|
| - DOMString type;
|
| + TemplateType templateType;
|
|
|
| // Sender's avatar, app icon, or a thumbnail for image notifications.
|
| + // TODO(miket): see browserAction.setIcon() for a better approach.
|
| DOMString iconUrl;
|
|
|
| // Title of the notification (e.g. sender name for email).
|
| @@ -31,31 +48,22 @@
|
| // is default.
|
| long? priority;
|
|
|
| - // A timestamp associated with the notification. An example is
|
| - // "Tue, 15 Nov 1994 12:45:26 GMT". Note that RFC822 doesn't specify the
|
| - // timezone label "UTC." To specify UTC, use "GMT" instead.
|
| - DOMString? timestamp;
|
| + // A timestamp associated with the notification, in W3C ISO 8601 format
|
| + // (http://www.w3.org/TR/NOTE-datetime) or ECMAScript date time string
|
| + // format (http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15)
|
| + // as generated by date.toISOString(), for example "1994-11-15T12:45:26Z."
|
| + DOMString? eventTime;
|
|
|
| // Smaller version of the icon.
|
| DOMString? secondIconUrl;
|
|
|
| - // A number, controlled entirely by the caller, that is intended to
|
| - // summarize the number of outstanding notifications. TODO(miket) what does
|
| - // that mean?
|
| - long? unreadCount;
|
| -
|
| - // Text and icon of the first button in the notification.
|
| - DOMString? buttonOneTitle;
|
| - DOMString? buttonOneIconUrl;
|
| -
|
| - // Text and icon of the second button in the notification.
|
| - DOMString? buttonTwoTitle;
|
| - DOMString? buttonTwoIconUrl;
|
| + // Text and icons of notification action buttons.
|
| + NotificationButton[]? buttons;
|
|
|
| // Secondary notification content.
|
| DOMString? expandedMessage;
|
|
|
| - // Image thumbnail for image-type notifications
|
| + // Image thumbnail for image-type notifications.
|
| DOMString? imageUrl;
|
|
|
| // Items for multi-item notifications.
|
| @@ -71,8 +79,10 @@
|
| interface Functions {
|
| // Creates and displays a notification having the contents in |options|,
|
| // identified by the id |notificationId|. If |notificationId| is empty,
|
| - // |create| generates an id. |callback| returns the notification id (either
|
| - // supplied or generated) that represents the created notification.
|
| + // |create| generates an id. If |notificationId| matches an existing
|
| + // notification, |create| first deletes that notification before proceeding
|
| + // with the create operation. |callback| returns the notification id
|
| + // (either supplied or generated) that represents the created notification.
|
| static void create(DOMString notificationId,
|
| NotificationOptions options,
|
| CreateCallback callback);
|
| @@ -91,13 +101,11 @@
|
| };
|
|
|
| interface Events {
|
| - // The system displayed the notification.
|
| + // The system displayed the notification. Not all created notifications are
|
| + // displayed; for example, a low-priority notification might simply appear
|
| + // in the message center without interrupting the user.
|
| static void onDisplayed(DOMString notificationId);
|
|
|
| - // An error occurred. TODO(miket): which errors can happen, and when? In
|
| - // which form (string, ID) should we describe the error?
|
| - static void onError(DOMString notificationId);
|
| -
|
| // The notification closed, either by the system or by user action.
|
| static void onClosed(DOMString notificationId, boolean byUser);
|
|
|
|
|