summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/webextensions/internal
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2018-05-28 10:05:20 -0400
committerMatt A. Tobin <email@mattatobin.com>2018-05-28 10:05:20 -0400
commit351cf27036d335e207b2a697423638dd4732cd08 (patch)
tree6754ae4a9db4f51576bb0187858b393fdfaea8e9 /toolkit/mozapps/webextensions/internal
parentbee00a4a3db557ffd950c9704558e8c7ef89b6dd (diff)
downloadUXP-351cf27036d335e207b2a697423638dd4732cd08.tar
UXP-351cf27036d335e207b2a697423638dd4732cd08.tar.gz
UXP-351cf27036d335e207b2a697423638dd4732cd08.tar.lz
UXP-351cf27036d335e207b2a697423638dd4732cd08.tar.xz
UXP-351cf27036d335e207b2a697423638dd4732cd08.zip
[WebExAM] Issue #402 - Make JSON update manifests assume Firefox instead of Toolkit
Diffstat (limited to 'toolkit/mozapps/webextensions/internal')
-rw-r--r--toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm17
-rw-r--r--toolkit/mozapps/webextensions/internal/moz.build2
2 files changed, 14 insertions, 5 deletions
diff --git a/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm b/toolkit/mozapps/webextensions/internal/AddonUpdateChecker.jsm
index bdd3a81e7..338b8c8bf 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_PLATFORM_VERSION = "extensions.minCompatiblePlatformVersion";
+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,10 @@ function parseRDFManifest(aId, aUpdateKey, aRequest, aManifestData) {
* @throws if the update manifest is invalid in any way
*/
function parseJSONManifest(aId, aUpdateKey, aRequest, aManifestData) {
+#ifndef MOZ_PHOENIX
+ throw Components.Exception("This application does not support JSON update manifests");
+#endif
+
if (aUpdateKey)
throw Components.Exception("Update keys are not supported for JSON update manifests");
@@ -515,10 +525,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_PLATFORM_VERSION)),
+ maxVersion: FIREFOX_APPCOMPATVERSION,
};
let result = {
@@ -539,7 +549,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");
}
diff --git a/toolkit/mozapps/webextensions/internal/moz.build b/toolkit/mozapps/webextensions/internal/moz.build
index 28c34f8c9..5a3943e59 100644
--- a/toolkit/mozapps/webextensions/internal/moz.build
+++ b/toolkit/mozapps/webextensions/internal/moz.build
@@ -8,7 +8,6 @@ EXTRA_JS_MODULES.addons += [
'AddonLogging.jsm',
'AddonRepository.jsm',
'AddonRepository_SQLiteMigrator.jsm',
- 'AddonUpdateChecker.jsm',
'APIExtensionBootstrap.js',
'Content.js',
'E10SAddonsRollout.jsm',
@@ -33,4 +32,5 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android':
EXTRA_PP_JS_MODULES.addons += [
'AddonConstants.jsm',
+ 'AddonUpdateChecker.jsm',
]