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

Unified Diff: lib/uninstall.js

Issue 29760565: Issue 6599 - Detect data corruption of storage.local (Closed)
Patch Set: Made reinitialized and dataCorrupted a getter Created April 25, 2018, 5:05 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/subscriptionInit.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « lib/subscriptionInit.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld