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

Side by Side Diff: chrome/common/extensions/api/notification_provider.idl

Issue 356673003: Notification Provider API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(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.notificationProvider</code> API to intercept
6 // notifications that would otherwise go into the Chrome Notification Center,
7 // get notifiers' information, and inform notifiers about users' actions on the
8 // notifications.
9 namespace notificationProvider {
10
11 // TODO(liyanhou): Use notifications.PermissionLevel everywhere and delete
12 // this type. See http://crbug.com/398266.
13
14 // whether notifications from this notifier is permitted or blocked.
15 enum NotifierPermissionLevel {
16 // User has elected to show notifications from the notifier.
17 // This is the default at install time.
18 granted,
19
20 // User has elected not to show notifications from the notifier.
21 denied
22 };
23
24 dictionary Notifier {
25 // Name of the notifier.
26 DOMString name;
27
28 // Icon of the notifier.
29 notifications.NotificationBitmap notifierIcon;
30
31 // Permission level of the notifier.
32 NotifierPermissionLevel permissionLevel;
33
34 // If a notifier has advanced settings.
35 boolean hasSettings;
36 };
37
38 callback NotifyOnClearedCallback = void (boolean wasCleared);
39
40 callback NotifyOnClickedCallback = void (boolean matchExists);
41
42 callback NotifyOnButtonClickedCallback = void (boolean matchExists);
43
44 callback NotifyOnPermissionLevelChangedCallback =
45 void (boolean notifierExists);
46
47 callback NotifyOnShowSettingsCallback = void (boolean notifierExists);
48
49 callback GetNotifierCallback = void (Notifier notifier);
50
51 callback GetAllNotifiersCallback = void (Notifier[] notifiers);
52
53 interface Functions {
54 // Inform the notifier that the user cleared a notification sent from that
55 // notifier.
56 // |notifierId|: The id of the notifier that sent the notification.
57 // |notificationId|: The id of the notification that was closed.
58 // |callback|: Called to indicate whether a matching notification existed.
59 static void notifyOnCleared(DOMString notifierId,
60 DOMString notificationId,
61 NotifyOnClearedCallback callback);
62
63 // Inform the notifier that the user clicked in a non-button area of a
64 // notification sent from that notifier.
65 // |notifierId|: The id of the notifier that sent the notification.
66 // |notificationId|: The id of the notification that was clicked on.
67 // |callback|: Called to indicate whether a matching notification existed.
68 static void notifyOnClicked(DOMString notifierId,
69 DOMString notificationId,
70 NotifyOnClickedCallback callback);
71
72 // Inform the notifier that the user pressed a button in the notification
73 // sent from that notifier.
74 // |notifierId|: The id of the notifier that sent the notification.
75 // |notificationId|: The id of the notification that was clicked on its
76 // button.
77 // |buttonIndex|: The index of the button that was clicked.
78 // |callback|: Called to indicate whether a matching notification existed.
79 static void notifyOnButtonClicked(DOMString notifierId,
80 DOMString notificationId,
81 long buttonIndex,
82 NotifyOnButtonClickedCallback callback);
83
84 // Inform the notifier that the user changed the permission level of that
85 // notifier.
86 // |notifierId|: The id of the notifier that sent the notification.
87 // |level|: The perission level of the notifier
88 // |callback|: Called to indicate whether the notifier existed.
89 static void notifyOnPermissionLevelChanged(
90 DOMString notifierId,
91 NotifierPermissionLevel level,
92 NotifyOnPermissionLevelChangedCallback callback);
93
94 // Inform the notifier that the user chose to see advanced settings of that
95 // notifier.
96 // |notifierId|: The id of the notifier that sent the notification.
97 // |callback|: Called to indicate whether a matching notifier existed.
98 static void notifyOnShowSettings(DOMString notifierId,
99 NotifyOnShowSettingsCallback callback);
100
101 // To get a notifier from it's notifier ID.
102 // |callback|: Returns the notifier object of the given ID.
103 static void getNotifier(GetNotifierCallback callback);
104
105 // To get all the notifiers that could send notifications.
106 // |callback|: Returns the set of notifiers currently in the system.
107 static void getAllNotifiers(GetAllNotifiersCallback callback);
108 };
109
110 interface Events {
111 // A new notification is created.
112 // |notifierId|: The id of the notifier that sent the new notification.
113 // |notificationId|: The id of the newly created notification.
114 // |options|: The content of the notification: type, title, message etc.
115 static void onCreated(DOMString notifierId,
not at google - send to devlin 2014/07/29 20:09:38 [following on from previous comment] what's the e
liyanhou 2014/07/30 17:19:25 The expected behavior is to store notifier ID, not
not at google - send to devlin 2014/07/30 19:24:37 Perhaps when onCreated() is called the provider wi
116 DOMString notificationId,
117 notifications.NotificationOptions options);
118
119 // A notification is updated by the notifier.
120 // |notifierId|: The id of the notifier that sent the updated notification.
121 // |notificationId|: The id of the updated notification.
122 // |options|: The content of the notification: type, title, message etc.
123 static void onUpdated(DOMString notifierId,
124 DOMString notificationId,
125 notifications.NotificationOptions options);
126
127 // A notification is cleared by the notifier.
128 // |notifierId|: The id of the notifier that cleared the notification.
129 // |notificationId|: The id of the cleared notification.
130 static void onCleared(DOMString notifierId, DOMString notificationId);
131 };
132 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698