| OLD | NEW | 
|---|
| 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 | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU General Public License | 14  * You should have received a copy of the GNU General Public License | 
| 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| 16  */ | 16  */ | 
| 17 | 17 | 
| 18 /** @module icon */ | 18 /** @module icon */ | 
| 19 | 19 | 
| 20 "use strict"; | 20 "use strict"; | 
| 21 | 21 | 
| 22 let {FilterNotifier} = require("filterNotifier"); | 22 const {FilterNotifier} = require("filterNotifier"); | 
| 23 | 23 | 
| 24 const frameOpacities =  [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, | 24 const frameOpacities =  [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, | 
| 25                          1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, | 25                          1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, | 
| 26                          0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0]; | 26                          0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0]; | 
| 27 const numberOfFrames = frameOpacities.length; | 27 const numberOfFrames = frameOpacities.length; | 
| 28 | 28 | 
| 29 let stopRequested = false; | 29 let stopRequested = false; | 
| 30 let canUpdateIcon = true; | 30 let canUpdateIcon = true; | 
| 31 let notRunning = Promise.resolve(); | 31 let notRunning = Promise.resolve(); | 
| 32 let whitelistedState = new ext.PageMap(); | 32 let whitelistedState = new ext.PageMap(); | 
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 178 } | 178 } | 
| 179 | 179 | 
| 180 let stopIconAnimation = | 180 let stopIconAnimation = | 
| 181 /** | 181 /** | 
| 182  * Stops to animate the browser action icon | 182  * Stops to animate the browser action icon | 
| 183  * after the current interval has been finished. | 183  * after the current interval has been finished. | 
| 184  * | 184  * | 
| 185  * @return {Promise} A promise that is fullfilled when | 185  * @return {Promise} A promise that is fullfilled when | 
| 186  *                   the icon animation has been stopped. | 186  *                   the icon animation has been stopped. | 
| 187  */ | 187  */ | 
| 188 exports.stopIconAnimation = function() | 188 exports.stopIconAnimation = () => | 
| 189 { | 189 { | 
| 190   stopRequested = true; | 190   stopRequested = true; | 
| 191   return notRunning.then(() => | 191   return notRunning.then(() => | 
| 192   { | 192   { | 
| 193     stopRequested = false; | 193     stopRequested = false; | 
| 194   }); | 194   }); | 
| 195 }; | 195 }; | 
| 196 | 196 | 
| 197 /** | 197 /** | 
| 198  * Starts to animate the browser action icon to indicate a pending notifcation. | 198  * Starts to animate the browser action icon to indicate a pending notifcation. | 
| 199  * If the icon is already animated, it replaces the previous | 199  * If the icon is already animated, it replaces the previous | 
| 200  * animation as soon as the current interval has been finished. | 200  * animation as soon as the current interval has been finished. | 
| 201  * | 201  * | 
| 202  * @param {string} type  The notification type (i.e: "information" or "critical"
     ) | 202  * @param {string} type  The notification type (i.e: "information" or "critical"
     ) | 
| 203  */ | 203  */ | 
| 204 exports.startIconAnimation = function(type) | 204 exports.startIconAnimation = type => | 
| 205 { | 205 { | 
| 206   notRunning = new Promise(resolve => | 206   notRunning = new Promise(resolve => | 
| 207   { | 207   { | 
| 208     Promise.all([renderFrames(type), stopIconAnimation()]).then(results => | 208     Promise.all([renderFrames(type), stopIconAnimation()]).then(results => | 
| 209     { | 209     { | 
| 210       if (stopRequested) | 210       if (stopRequested) | 
| 211       { | 211       { | 
| 212         resolve(); | 212         resolve(); | 
| 213         return; | 213         return; | 
| 214       } | 214       } | 
| 215 | 215 | 
| 216       let frames = results[0]; | 216       let frames = results[0]; | 
| 217       animateIcon(type, frames); | 217       animateIcon(type, frames); | 
| 218 | 218 | 
| 219       let interval = setInterval(() => | 219       let interval = setInterval(() => | 
| 220       { | 220       { | 
| 221         if (stopRequested) | 221         if (stopRequested) | 
| 222         { | 222         { | 
| 223           clearInterval(interval); | 223           clearInterval(interval); | 
| 224           resolve(); | 224           resolve(); | 
| 225           return; | 225           return; | 
| 226         } | 226         } | 
| 227 | 227 | 
| 228         animateIcon(type, frames); | 228         animateIcon(type, frames); | 
| 229       }, 10000); | 229       }, 10000); | 
| 230     }); | 230     }); | 
| 231   }); | 231   }); | 
| 232 }; | 232 }; | 
| OLD | NEW | 
|---|