Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
4 | 4 |
5 "use strict"; | 5 "use strict"; |
6 | 6 |
7 let platform = "edgehtml"; | |
8 let platformVersion = null; | |
9 let application = "edge"; | |
10 let applicationVersion = "0"; | |
11 | |
12 let regexp = /(\S+)\/(\S+)(?:\s*\(.*?\))?/g; | |
13 let match; | |
14 | |
15 while (match = regexp.exec(navigator.userAgent)) | |
16 { | |
17 let app = match[1]; | |
18 let ver = match[2]; | |
19 | |
20 platformVersion = ver; | |
21 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
| |
22 { | |
23 // For compatibility with legacy websites, Chrome's UA | |
24 // also includes a Mozilla, AppleWebKit and Safari token. | |
25 // Any further name/version pair indicates a fork. | |
26 application = app == "OPR" ? "opera" : app.toLowerCase(); | |
27 applicationVersion = ver; | |
28 } | |
29 } | |
30 | |
31 // not a Chromium-based UA, probably modifed by the user | |
32 if (!platformVersion) | |
33 { | |
34 application = "unknown"; | |
35 applicationVersion = platformVersion = "0"; | |
36 } | |
37 | |
38 // no additional name/version, so this is upstream Chrome | |
39 if (!application) | |
40 { | |
41 application = "chrome"; | |
42 applicationVersion = platformVersion; | |
43 } | |
44 | |
45 | |
46 exports.addonName = {{ basename|json }}; | 7 exports.addonName = {{ basename|json }}; |
47 exports.addonVersion = {{ version|json }}; | 8 exports.addonVersion = {{ version|json }}; |
48 | 9 |
49 exports.application = application; | 10 exports.application = "edge"; |
50 exports.applicationVersion = applicationVersion; | 11 exports.applicationVersion = "0"; |
51 | 12 |
52 exports.platform = platform; | 13 exports.platform = "edgehtml" |
53 exports.platformVersion = platformVersion; | 14 exports.platformVersion = "0"; |
15 | |
16 let match = /\bEdge\/(\d+(?:\.\d+)?)\b/.exec(navigator.userAgent); | |
17 if (match) | |
18 exports.platformVersion = match[1]; | |
LEFT | RIGHT |