| Index: lib/uninstall.js | 
| =================================================================== | 
| --- a/lib/uninstall.js | 
| +++ b/lib/uninstall.js | 
| @@ -20,10 +20,18 @@ | 
| "use strict"; | 
|  | 
| const info = require("../buildtools/info"); | 
| +const {isDataCorrupted} = require("./subscriptionInit.js"); | 
| const {Prefs} = require("./prefs"); | 
| const {Utils} = require("./utils"); | 
|  | 
| -function setUninstallURL() | 
| +let setUninstallURL = | 
| +/** | 
| + * Sets (or updates) the URL that is openend when the extension is uninstalled. | 
| + * | 
| + * Must be called after prefs got initialized and a data corruption | 
| + * if any was detected, as well when notification data change. | 
| + */ | 
| +exports.setUninstallURL = () => | 
| { | 
| let search = []; | 
| for (let key of ["addonName", "addonVersion", "application", | 
| @@ -47,16 +55,10 @@ | 
| } | 
|  | 
| search.push("notificationDownloadCount=" + encodeURIComponent(downlCount)); | 
| +  search.push("dataCorrupted=" + (isDataCorrupted() ? "1" : "0")); | 
|  | 
| browser.runtime.setUninstallURL(Utils.getDocLink("uninstalled") + "&" + | 
| search.join("&")); | 
| -} | 
| +}; | 
|  | 
| -// The uninstall URL contains the notification download count as a parameter, | 
| -// therefore we must wait for preferences to be loaded before generating the | 
| -// URL and we need to re-generate it each time the notification data changes. | 
| -if ("setUninstallURL" in browser.runtime) | 
| -{ | 
| -  Prefs.untilLoaded.then(setUninstallURL); | 
| -  Prefs.on("notificationdata", setUninstallURL); | 
| -} | 
| +Prefs.on("notificationdata", setUninstallURL); | 
|  |