OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Use the <code>chrome.customNotificationCenter</code> API to get notifications | |
6 namespace customNotificationCenter { | |
7 [noinline_doc] enum TemplateType { | |
8 // icon, title, message, expandedMessage, up to two buttons | |
Pete Williamson
2014/07/14 19:47:48
Comments should be complete sentences, starting wi
liyanhou
2014/07/15 16:53:32
Done.
| |
9 basic, | |
10 | |
11 // icon, title, message, expandedMessage, image, up to two buttons | |
12 image, | |
13 | |
14 // icon, title, message, items, up to two buttons | |
15 list, | |
16 | |
17 // icon, title, message, progress, up to two buttons | |
18 progress | |
19 }; | |
20 | |
21 enum PermissionLevel { | |
22 // User has elected to show notifications from the app or extension. | |
23 // This is the default at install time. | |
24 granted, | |
25 | |
26 // User has elected not to show notifications from the app or extension. | |
27 denied | |
28 }; | |
29 | |
30 dictionary NotificationItem { | |
31 // Title of one item of a list notification. | |
32 DOMString title; | |
33 | |
34 // Additional details about this item. | |
35 DOMString message; | |
36 }; | |
37 | |
38 dictionary NotificationBitmap { | |
39 long width; | |
40 long height; | |
41 | |
42 // |data|: a one-dimensional unit 8 array containing the data in RGBA order, | |
43 // 1 byte/channel (integer from 0 to 255), 4 bytes/pixel | |
44 // See the link for more information: | |
45 // http://www.w3.org/TR/2014/WD-2dcontext-20140520/ | |
46 ArrayBuffer? data; | |
47 }; | |
48 | |
49 dictionary NotificationButton { | |
50 DOMString title; | |
51 NotificationBitmap? iconBitmap; | |
52 }; | |
53 | |
54 dictionary NotificationContent { | |
55 // Which type of notification to display. | |
56 TemplateType? type; | |
57 | |
58 // Sender's avatar, app icon, or a thumbnail for image notifications. | |
59 NotificationBitmap? iconBitmap; | |
60 | |
61 // Title of the notification (e.g. sender name for email). | |
62 DOMString? title; | |
63 | |
64 // Main notification content. | |
65 DOMString? message; | |
66 | |
67 // Alternate notification content with a lower-weight font. | |
68 DOMString? contextMessage; | |
69 | |
70 // Priority ranges from -2 to 2. -2 is lowest priority. 2 is highest. Zero | |
71 // is default. | |
72 long? priority; | |
73 | |
74 // A timestamp associated with the notification, in milliseconds past the | |
75 // epoch (e.g. <code>Date.now() + n</code>). | |
76 double? eventTime; | |
77 | |
78 // Text and icons for up to two notification action buttons. | |
79 NotificationButton[]? buttons; | |
80 | |
81 // Image thumbnail for image-type notifications. | |
82 NotificationBitmap? imageBitmap; | |
83 | |
84 // Items for multi-item notifications. | |
85 NotificationItem[]? items; | |
86 | |
87 // Current progress ranges from 0 to 100. | |
88 long? progress; | |
89 | |
90 // Whether to show UI indicating that the app will visibly respond to | |
91 // clicks on the body of a notification. | |
92 boolean? isClickable; | |
93 }; | |
94 | |
95 callback SendOnClearCallback = void (boolean wasCleared); | |
96 | |
97 callback SendOnClickCallback = void (boolean matchExists); | |
98 | |
99 callback SendOnButtonClickCallback = void (boolean matchExists); | |
100 | |
101 interface Functions { | |
102 // Clears the specified notification. | |
103 // |senderId|: The id of the sender of the notification. | |
104 // |notificationId|: The id of the notification that was closed. | |
105 // |callback|: Called to indicate whether a matching notification existed. | |
106 static void sendOnClear(DOMString senderId, | |
107 DOMString notificationId, | |
108 SendOnClearCallback callback); | |
109 | |
110 // The user clicked in a non-button area of the notification. | |
111 // |senderId|: The id of the sender of the notification. | |
112 // |notificationId|: The id of the notification that was clicked on. | |
113 // |callback|: Called to indicate whether a matching notification existed. | |
114 static void sendOnClick(DOMString senderId, | |
115 DOMString notificationId, | |
116 SendOnClickCallback callback); | |
117 | |
118 // The user pressed a button in the notification. | |
119 // |senderId|: The id of the sender of the notification. | |
120 // |notificationId|: The id of the notification that was clicked on its | |
121 // button. | |
122 // |buttonIndex|: The index of the button that was clicked. | |
123 // |callback|: Called to indicate whether a matching notification existed. | |
124 static void sendOnButtonClick(DOMString senderId, | |
125 DOMString notificationId, | |
126 long buttonIndex, | |
127 SendOnButtonClickCallback callback); | |
128 | |
129 // The user changes the permission level. | |
130 // |senderId|: The id of the sender of the notification. | |
131 // |level|: The perissionlevel of the app/extension that sent the notificati on | |
132 static void notifyPermissionLevelChanged(DOMString senderId, | |
133 PermissionLevel level); | |
134 }; | |
135 | |
136 interface Events { | |
137 // New notification created. | |
138 // |senderId|: The id of the sender of the notification. | |
139 // |notificationId|: The id of the newly created notification. | |
140 // |content|: The content of the notification: type, title, message etc. | |
141 static void onCreated(DOMString senderId, | |
142 DOMString notificaitonId, | |
143 NotificationContent content); | |
144 | |
145 // Notification updated. | |
146 // |senderId|: The id of the sender of the notification. | |
147 // |notificationId|: The id of the updated notification. | |
148 // |content|: The content of the notification: type, title, message etc. | |
149 static void onUpdated(DOMString senderId, | |
150 DOMString notificationId, | |
151 NotificationContent content); | |
152 | |
153 // Notification cleared. | |
154 // |senderId|: The id of the sender of the notification. | |
155 // |notificationId|: The id of the cleared notification. | |
156 static void onCleared(DOMString senderId, DOMString notificationId); | |
157 }; | |
158 }; | |
OLD | NEW |