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

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

Issue 855813002: Mark create/update/clear callbacks of notification API as optional (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments #25 Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Use the <code>chrome.notifications</code> API to create rich notifications 5 // Use the <code>chrome.notifications</code> API to create rich notifications
6 // using templates and show these notifications to users in the system tray. 6 // using templates and show these notifications to users in the system tray.
7 namespace notifications { 7 namespace notifications {
8 [noinline_doc] enum TemplateType { 8 [noinline_doc] enum TemplateType {
9 // icon, title, message, expandedMessage, up to two buttons 9 // icon, title, message, expandedMessage, up to two buttons
10 basic, 10 basic,
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 callback UpdateCallback = void (boolean wasUpdated); 117 callback UpdateCallback = void (boolean wasUpdated);
118 118
119 callback ClearCallback = void (boolean wasCleared); 119 callback ClearCallback = void (boolean wasCleared);
120 120
121 callback GetAllCallback = void (object notifications); 121 callback GetAllCallback = void (object notifications);
122 122
123 callback PermissionLevelCallback = void (PermissionLevel level); 123 callback PermissionLevelCallback = void (PermissionLevel level);
124 124
125 interface Functions { 125 interface Functions {
126 // Creates and displays a notification. 126 // Creates and displays a notification.
127 // |notificationId|: Identifier of the notification. If it is empty, this 127 // |notificationId|: Identifier of the notification. If not set or empty, an
128 // method generates an id. If it matches an existing notification, this 128 // ID will automatically be generated. If it matches an existing
129 // method first clears that notification before proceeding with the create 129 // notification, this method first clears that notification before
130 // operation. 130 // proceeding with the create operation.
131 //
132 // The <code>notificationId</code> parameter is required before Chrome 42.
131 // |options|: Contents of the notification. 133 // |options|: Contents of the notification.
132 // |callback|: Returns the notification id (either supplied or generated) 134 // |callback|: Returns the notification id (either supplied or generated)
133 // that represents the created notification. 135 // that represents the created notification.
134 static void create(DOMString notificationId, 136 //
137 // The callback is required before Chrome 42.
138 static void create(optional DOMString notificationId,
135 NotificationOptions options, 139 NotificationOptions options,
136 CreateCallback callback); 140 optional CreateCallback callback);
137 141
138 // Updates an existing notification. 142 // Updates an existing notification.
139 // |notificationId|: The id of the notification to be updated. This is 143 // |notificationId|: The id of the notification to be updated. This is
140 // returned by $(ref:notifications.create) method. 144 // returned by $(ref:notifications.create) method.
141 // |options|: Contents of the notification to update to. 145 // |options|: Contents of the notification to update to.
142 // |callback|: Called to indicate whether a matching notification existed. 146 // |callback|: Called to indicate whether a matching notification existed.
147 //
148 // The callback is required before Chrome 42.
143 static void update(DOMString notificationId, 149 static void update(DOMString notificationId,
144 NotificationOptions options, 150 NotificationOptions options,
145 UpdateCallback callback); 151 optional UpdateCallback callback);
146 152
147 // Clears the specified notification. 153 // Clears the specified notification.
148 // |notificationId|: The id of the notification to be cleared. This is 154 // |notificationId|: The id of the notification to be cleared. This is
149 // returned by $(ref:notifications.create) method. 155 // returned by $(ref:notifications.create) method.
150 // |callback|: Called to indicate whether a matching notification existed. 156 // |callback|: Called to indicate whether a matching notification existed.
151 static void clear(DOMString notificationId, ClearCallback callback); 157 //
158 // The callback is required before Chrome 42.
159 static void clear(DOMString notificationId,
160 optional ClearCallback callback);
152 161
153 // Retrieves all the notifications. 162 // Retrieves all the notifications.
154 // |callback|: Returns the set of notification_ids currently in the system. 163 // |callback|: Returns the set of notification_ids currently in the system.
155 static void getAll(GetAllCallback callback); 164 static void getAll(GetAllCallback callback);
156 165
157 // Retrieves whether the user has enabled notifications from this app 166 // Retrieves whether the user has enabled notifications from this app
158 // or extension. 167 // or extension.
159 // |callback|: Returns the current permission level. 168 // |callback|: Returns the current permission level.
160 static void getPermissionLevel(PermissionLevelCallback callback); 169 static void getPermissionLevel(PermissionLevelCallback callback);
161 }; 170 };
162 171
163 interface Events { 172 interface Events {
164 // The notification closed, either by the system or by user action. 173 // The notification closed, either by the system or by user action.
165 static void onClosed(DOMString notificationId, boolean byUser); 174 static void onClosed(DOMString notificationId, boolean byUser);
166 175
167 // The user clicked in a non-button area of the notification. 176 // The user clicked in a non-button area of the notification.
168 static void onClicked(DOMString notificationId); 177 static void onClicked(DOMString notificationId);
169 178
170 // The user pressed a button in the notification. 179 // The user pressed a button in the notification.
171 static void onButtonClicked(DOMString notificationId, long buttonIndex); 180 static void onButtonClicked(DOMString notificationId, long buttonIndex);
172 181
173 // The user changes the permission level. 182 // The user changes the permission level.
174 static void onPermissionLevelChanged(PermissionLevel level); 183 static void onPermissionLevelChanged(PermissionLevel level);
175 184
176 // The user clicked on a link for the app's notification settings. 185 // The user clicked on a link for the app's notification settings.
177 static void onShowSettings(); 186 static void onShowSettings();
178 }; 187 };
179 188
180 }; 189 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698