| 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 = "chromium"; | |
| 8 let platformVersion = null; | 7 let platformVersion = null; |
| 9 let application = null; | 8 let application = null; |
| 10 let applicationVersion; | 9 let applicationVersion; |
| 11 | 10 |
| 12 let regexp = /(\S+)\/(\S+)(?:\s*\(.*?\))?/g; | 11 let regexp = /(\S+)\/(\S+)(?:\s*\(.*?\))?/g; |
| 13 let match; | 12 let match; |
| 14 | 13 |
| 15 while (match = regexp.exec(navigator.userAgent)) | 14 while (match = regexp.exec(navigator.userAgent)) |
| 16 { | 15 { |
| 17 let app = match[1]; | 16 let app = match[1]; |
| 18 let ver = match[2]; | 17 let ver = match[2]; |
| 19 platformVersion = ver; | |
| 20 | 18 |
| 21 if (app != "Mozilla" && app != "AppleWebKit" && app != "Safari") | 19 if (app == "Chrome") |
| 20 { |
| 21 platformVersion = ver; |
| 22 } |
| 23 else if (app != "Mozilla" && app != "AppleWebKit" && app != "Safari") |
| 22 { | 24 { |
| 23 // For compatibility with legacy websites, Chrome's UA | 25 // For compatibility with legacy websites, Chrome's UA |
| 24 // also includes a Mozilla, AppleWebKit and Safari token. | 26 // also includes a Mozilla, AppleWebKit and Safari token. |
| 25 // Any further name/version pair indicates a fork. | 27 // Any further name/version pair indicates a fork. |
| 26 application = app == "OPR" ? "opera" : app.toLowerCase(); | 28 application = app == "OPR" ? "opera" : app.toLowerCase(); |
| 27 applicationVersion = ver; | 29 applicationVersion = ver; |
| 28 } | 30 } |
| 29 } | 31 } |
| 30 | 32 |
| 31 // not a Chromium-based UA, probably modifed by the user | 33 // not a Chromium-based UA, probably modifed by the user |
| (...skipping 10 matching lines...) Expand all Loading... |
| 42 applicationVersion = platformVersion; | 44 applicationVersion = platformVersion; |
| 43 } | 45 } |
| 44 | 46 |
| 45 | 47 |
| 46 exports.addonName = {{ basename|json }}; | 48 exports.addonName = {{ basename|json }}; |
| 47 exports.addonVersion = {{ version|json }}; | 49 exports.addonVersion = {{ version|json }}; |
| 48 | 50 |
| 49 exports.application = application; | 51 exports.application = application; |
| 50 exports.applicationVersion = applicationVersion; | 52 exports.applicationVersion = applicationVersion; |
| 51 | 53 |
| 52 exports.platform = platform; | 54 exports.platform = "chromium"; |
| 53 exports.platformVersion = platformVersion; | 55 exports.platformVersion = platformVersion; |
| LEFT | RIGHT |