summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm')
-rw-r--r--toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm17
1 files changed, 13 insertions, 4 deletions
diff --git a/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm b/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm
index bdd3a81e7..391c69a06 100644
--- a/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm
+++ b/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm
@@ -26,6 +26,12 @@ const XMLURI_PARSE_ERROR = "http://www.mozilla.org/newlayout/xml/parsererror.
const PREF_UPDATE_REQUIREBUILTINCERTS = "extensions.update.requireBuiltInCerts";
+#ifdef MOZ_PHOENIX
+const PREF_EM_MIN_COMPAT_APP_VERSION = "extensions.minCompatibleAppVersion";
+const FIREFOX_ID = "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
+const FIREFOX_APPCOMPATVERSION = "56.9"
+#endif
+
Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
@@ -446,6 +452,7 @@ function parseRDFManifest(aId, aUpdateKey, aRequest, aManifestData) {
* @throws if the update manifest is invalid in any way
*/
function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) {
+#ifdef MOZ_PHOENIX
if (aUpdateKey)
throw Components.Exception("Update keys are not supported for JSON update manifests");
@@ -515,10 +522,10 @@ function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) {
let app = getProperty(applications, "gecko", "object");
let appEntry = {
- id: TOOLKIT_ID,
+ id: FIREFOX_ID,
minVersion: getProperty(app, "strict_min_version", "string",
- AddonManagerPrivate.webExtensionsMinPlatformVersion),
- maxVersion: "*",
+ Services.prefs.getCharPref(PREF_EM_MIN_COMPAT_APP_VERSION)),
+ maxVersion: FIREFOX_APPCOMPATVERSION,
};
let result = {
@@ -539,7 +546,6 @@ function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) {
}
appEntry.maxVersion = getProperty(app, "strict_max_version", "string");
- result.strictCompatibility = appEntry.maxVersion != "*";
} else if ("advisory_max_version" in app) {
appEntry.maxVersion = getProperty(app, "advisory_max_version", "string");
}
@@ -551,6 +557,9 @@ function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) {
results.push(result);
}
return results;
+#else
+ throw Components.Exception("This application does not support JSON update manifests");
+#endif
}
/**