Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: lib/notificationHelper.js

Issue 29371763: Issue 4795 - Use modern JavaScript syntax (Closed)
Patch Set: Created Jan. 13, 2017, 12:11 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2016 Eyeo GmbH 3 * Copyright (C) 2006-2016 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 21 matching lines...) Expand all
32 displayMethods.question = ["notification"]; 32 displayMethods.question = ["notification"];
33 displayMethods.normal = ["notification"]; 33 displayMethods.normal = ["notification"];
34 displayMethods.information = ["icon", "popup"]; 34 displayMethods.information = ["icon", "popup"];
35 35
36 let platform = require("info").platform; 36 let platform = require("info").platform;
37 let canUseChromeNotifications = platform == "chromium" && "notifications" in chr ome; 37 let canUseChromeNotifications = platform == "chromium" && "notifications" in chr ome;
38 38
39 function prepareNotificationIconAndPopup() 39 function prepareNotificationIconAndPopup()
40 { 40 {
41 let animateIcon = shouldDisplay("icon", activeNotification.type); 41 let animateIcon = shouldDisplay("icon", activeNotification.type);
42 activeNotification.onClicked = function() 42 activeNotification.onClicked = () =>
43 { 43 {
44 if (animateIcon) 44 if (animateIcon)
45 stopIconAnimation(); 45 stopIconAnimation();
46 notificationClosed(); 46 notificationClosed();
47 }; 47 };
48 if (animateIcon) 48 if (animateIcon)
49 startIconAnimation(activeNotification.type); 49 startIconAnimation(activeNotification.type);
50 } 50 }
51 51
52 function getNotificationButtons(notificationType, message) 52 function getNotificationButtons(notificationType, message)
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 switch (activeButtons[buttonIndex].type) 116 switch (activeButtons[buttonIndex].type)
117 { 117 {
118 case "link": 118 case "link":
119 ext.pages.open(Utils.getDocLink(activeNotification.links[buttonIndex])); 119 ext.pages.open(Utils.getDocLink(activeNotification.links[buttonIndex]));
120 break; 120 break;
121 case "open-all": 121 case "open-all":
122 openNotificationLinks(); 122 openNotificationLinks();
123 break; 123 break;
124 case "configure": 124 case "configure":
125 Prefs.notifications_showui = true; 125 Prefs.notifications_showui = true;
126 ext.showOptions(function(page) 126 ext.showOptions(page =>
127 { 127 {
128 page.sendMessage({ 128 page.sendMessage({
129 type: "app.respond", 129 type: "app.respond",
130 action: "focusSection", 130 action: "focusSection",
131 args: ["notifications"] 131 args: ["notifications"]
132 }); 132 });
133 }); 133 });
134 break; 134 break;
135 case "question": 135 case "question":
136 NotificationStorage.triggerQuestionListeners(activeNotification.id, button Index == 0); 136 NotificationStorage.triggerQuestionListeners(activeNotification.id, button Index == 0);
137 NotificationStorage.markAsShown(activeNotification.id); 137 NotificationStorage.markAsShown(activeNotification.id);
138 activeNotification.onClicked(); 138 activeNotification.onClicked();
139 break; 139 break;
140 } 140 }
141 } 141 }
142 142
143 function notificationClosed() 143 function notificationClosed()
144 { 144 {
145 activeNotification = null; 145 activeNotification = null;
146 } 146 }
147 147
148 function initChromeNotifications() 148 function initChromeNotifications()
149 { 149 {
150 // Chrome hides notifications in notification center when clicked so we need t o clear them 150 // Chrome hides notifications in notification center when clicked so we need t o clear them
151 function clearActiveNotification(notificationId) 151 function clearActiveNotification(notificationId)
152 { 152 {
153 if (activeNotification && activeNotification.type != "question" && !("links" in activeNotification)) 153 if (activeNotification && activeNotification.type != "question" && !("links" in activeNotification))
154 return; 154 return;
155 155
156 chrome.notifications.clear(notificationId, function(wasCleared) 156 chrome.notifications.clear(notificationId, wasCleared =>
157 { 157 {
158 if (wasCleared) 158 if (wasCleared)
159 notificationClosed(); 159 notificationClosed();
160 }); 160 });
161 } 161 }
162 162
163 chrome.notifications.onButtonClicked.addListener(function(notificationId, butt onIndex) 163 chrome.notifications.onButtonClicked.addListener((notificationId, buttonIndex) =>
164 { 164 {
165 notificationButtonClick(buttonIndex); 165 notificationButtonClick(buttonIndex);
166 clearActiveNotification(notificationId); 166 clearActiveNotification(notificationId);
167 }); 167 });
168 chrome.notifications.onClicked.addListener(clearActiveNotification); 168 chrome.notifications.onClicked.addListener(clearActiveNotification);
169 chrome.notifications.onClosed.addListener(notificationClosed); 169 chrome.notifications.onClosed.addListener(notificationClosed);
170 } 170 }
171 171
172 function showNotification(notification) 172 function showNotification(notification)
173 { 173 {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 else if (approved) 225 else if (approved)
226 openNotificationLinks(); 226 openNotificationLinks();
227 } 227 }
228 } 228 }
229 prepareNotificationIconAndPopup(); 229 prepareNotificationIconAndPopup();
230 }; 230 };
231 231
232 /** 232 /**
233 * Initializes the notification system. 233 * Initializes the notification system.
234 */ 234 */
235 exports.initNotifications = function() 235 exports.initNotifications = () =>
236 { 236 {
237 if (canUseChromeNotifications) 237 if (canUseChromeNotifications)
238 initChromeNotifications(); 238 initChromeNotifications();
239 initAntiAdblockNotification(); 239 initAntiAdblockNotification();
240 }; 240 };
241 241
242 /** 242 /**
243 * Gets the active notification to be shown if any. 243 * Gets the active notification to be shown if any.
244 * 244 *
245 * @return {?object} 245 * @return {?object}
246 */ 246 */
247 exports.getActiveNotification = function() 247 exports.getActiveNotification = () => activeNotification;
248 {
249 return activeNotification;
250 };
251 248
252 let shouldDisplay = 249 let shouldDisplay =
253 /** 250 /**
254 * Determines whether a given display method should be used for a 251 * Determines whether a given display method should be used for a
255 * specified notification type. 252 * specified notification type.
256 * 253 *
257 * @param {string} method Display method: icon, notification or popup 254 * @param {string} method Display method: icon, notification or popup
258 * @param {string} notificationType 255 * @param {string} notificationType
259 * @return {boolean} 256 * @return {boolean}
260 */ 257 */
261 exports.shouldDisplay = function(method, notificationType) 258 exports.shouldDisplay = (method, notificationType) =>
262 { 259 {
263 let methods = displayMethods[notificationType] || defaultDisplayMethods; 260 let methods = displayMethods[notificationType] || defaultDisplayMethods;
264 return methods.indexOf(method) > -1; 261 return methods.indexOf(method) > -1;
265 }; 262 };
266 263
267 ext.pages.onLoading.addListener(page => 264 ext.pages.onLoading.addListener(page =>
268 { 265 {
269 NotificationStorage.showNext(stringifyURL(page.url)); 266 NotificationStorage.showNext(stringifyURL(page.url));
270 }); 267 });
271 268
272 NotificationStorage.addShowListener(showNotification); 269 NotificationStorage.addShowListener(showNotification);
OLDNEW
« chrome/ext/common.js ('K') | « lib/io.js ('k') | lib/prefs.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld