Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: chrome/common/extensions/api/experimental_notification.idl

Issue 12212037: Update notifications API after review. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge conflict resolved Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698