| 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); |