| 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 | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
|   24 let {FilterStorage} = require("filterStorage"); |   24 let {FilterStorage} = require("filterStorage"); | 
|   25 let {FilterNotifier} = require("filterNotifier"); |   25 let {FilterNotifier} = require("filterNotifier"); | 
|   26 let {Prefs} = require("prefs"); |   26 let {Prefs} = require("prefs"); | 
|   27 let {Synchronizer} = require("synchronizer"); |   27 let {Synchronizer} = require("synchronizer"); | 
|   28 let {Utils} = require("utils"); |   28 let {Utils} = require("utils"); | 
|   29 let {initNotifications} = require("notificationHelper"); |   29 let {initNotifications} = require("notificationHelper"); | 
|   30  |   30  | 
|   31 let firstRun; |   31 let firstRun; | 
|   32 let subscriptionsCallback = null; |   32 let subscriptionsCallback = null; | 
|   33  |   33  | 
|   34 let filtersLoaded = new Promise(resolve => |  | 
|   35 { |  | 
|   36   function onFilterAction(action) |  | 
|   37   { |  | 
|   38     if (action == "load") |  | 
|   39     { |  | 
|   40       FilterNotifier.removeListener(onFilterAction); |  | 
|   41       resolve(); |  | 
|   42     } |  | 
|   43   } |  | 
|   44   FilterNotifier.addListener(onFilterAction); |  | 
|   45 }); |  | 
|   46  |  | 
|   47 /** |   34 /** | 
|   48  * If there aren't any filters, the default subscriptions are added. |   35  * If there aren't any filters, the default subscriptions are added. | 
|   49  * However, if patterns.ini already did exist and/or any preference |   36  * However, if patterns.ini already did exist and/or any preference | 
|   50  * is set to a non-default value, this indicates that this isn't the |   37  * is set to a non-default value, this indicates that this isn't the | 
|   51  * first run, but something went wrong. |   38  * first run, but something went wrong. | 
|   52  * |   39  * | 
|   53  * This function detects the first run, and makes sure that the user |   40  * This function detects the first run, and makes sure that the user | 
|   54  * gets notified (on the first run page) if the data appears incomplete |   41  * gets notified (on the first run page) if the data appears incomplete | 
|   55  * and therefore will be reinitialized. |   42  * and therefore will be reinitialized. | 
|   56  */ |   43  */ | 
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  165         !subscription.lastDownload) |  152         !subscription.lastDownload) | 
|  166       Synchronizer.execute(subscription); |  153       Synchronizer.execute(subscription); | 
|  167   } |  154   } | 
|  168  |  155  | 
|  169   if (firstRun && !Prefs.suppress_first_run_page) |  156   if (firstRun && !Prefs.suppress_first_run_page) | 
|  170     ext.pages.open(ext.getURL("firstRun.html")); |  157     ext.pages.open(ext.getURL("firstRun.html")); | 
|  171  |  158  | 
|  172   initNotifications(); |  159   initNotifications(); | 
|  173 } |  160 } | 
|  174  |  161  | 
|  175 Promise.all([filtersLoaded, Prefs.untilLoaded]).then(detectFirstRun) |  162 Promise.all([FilterNotifier.once("load"), | 
|  176                                             .then(getSubscriptions) |  163              Prefs.untilLoaded]).then(detectFirstRun) | 
|  177                                             .then(finishInitialization); |  164                                 .then(getSubscriptions) | 
 |  165                                 .then(finishInitialization); | 
|  178  |  166  | 
|  179 /** |  167 /** | 
|  180  * Indicates whether the default filter subscriptions have been added |  168  * Indicates whether the default filter subscriptions have been added | 
|  181  * again because there weren't any subscriptions even though this wasn't |  169  * again because there weren't any subscriptions even though this wasn't | 
|  182  * the first run. |  170  * the first run. | 
|  183  * |  171  * | 
|  184  * @type {boolean} |  172  * @type {boolean} | 
|  185  */ |  173  */ | 
|  186 exports.reinitialized = false; |  174 exports.reinitialized = false; | 
|  187  |  175  | 
|  188 /** |  176 /** | 
|  189  * Sets a callback that is called with an array of subscriptions to be added |  177  * Sets a callback that is called with an array of subscriptions to be added | 
|  190  * during initialization. The callback must return an array of subscriptions |  178  * during initialization. The callback must return an array of subscriptions | 
|  191  * that will effectively be added. |  179  * that will effectively be added. | 
|  192  * |  180  * | 
|  193  * @param {function} |  181  * @param {function} | 
|  194  */ |  182  */ | 
|  195 exports.setSubscriptionsCallback = function(callback) |  183 exports.setSubscriptionsCallback = function(callback) | 
|  196 { |  184 { | 
|  197   subscriptionsCallback = callback; |  185   subscriptionsCallback = callback; | 
|  198 }; |  186 }; | 
| OLD | NEW |