Index: templates/edgeInfo.js.tmpl |
=================================================================== |
new file mode 100644 |
--- /dev/null |
+++ b/templates/edgeInfo.js.tmpl |
@@ -0,0 +1,53 @@ |
+/* This Source Code Form is subject to the terms of the Mozilla Public |
+ * License, v. 2.0. If a copy of the MPL was not distributed with this |
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
+ |
+"use strict"; |
+ |
+let platform = "edgehtml"; |
+let platformVersion = null; |
+let application = "edge"; |
+let applicationVersion = "0"; |
+ |
+let regexp = /(\S+)\/(\S+)(?:\s*\(.*?\))?/g; |
+let match; |
+ |
+while (match = regexp.exec(navigator.userAgent)) |
+{ |
+ let app = match[1]; |
+ let ver = match[2]; |
+ |
+ platformVersion = ver; |
+ if (app != "Mozilla" && app != "AppleWebKit" && app != "Safari") |
Sebastian Noack
2017/06/06 16:36:38
This logic (and most of the code below) is specifi
Jon Sonesen
2017/06/07 11:08:00
I see, yeah I though I had removed the stuff from
|
+ { |
+ // For compatibility with legacy websites, Chrome's UA |
+ // also includes a Mozilla, AppleWebKit and Safari token. |
+ // Any further name/version pair indicates a fork. |
+ application = app == "OPR" ? "opera" : app.toLowerCase(); |
+ applicationVersion = ver; |
+ } |
+} |
+ |
+// not a Chromium-based UA, probably modifed by the user |
+if (!platformVersion) |
+{ |
+ application = "unknown"; |
+ applicationVersion = platformVersion = "0"; |
+} |
+ |
+// no additional name/version, so this is upstream Chrome |
+if (!application) |
+{ |
+ application = "chrome"; |
+ applicationVersion = platformVersion; |
+} |
+ |
+ |
+exports.addonName = {{ basename|json }}; |
+exports.addonVersion = {{ version|json }}; |
+ |
+exports.application = application; |
+exports.applicationVersion = applicationVersion; |
+ |
+exports.platform = platform; |
+exports.platformVersion = platformVersion; |