diff --git a/src/constants.js b/src/constants.js index 6dd0071..ca1f5ed 100644 --- a/src/constants.js +++ b/src/constants.js @@ -11,6 +11,7 @@ export const BROWSER_ALIASES_MAP = { Firefox: 'firefox', Focus: 'focus', Generic: 'generic', + 'Google Search': 'google_search', Googlebot: 'googlebot', 'Internet Explorer': 'ie', 'K-Meleon': 'k_meleon', @@ -52,6 +53,7 @@ export const BROWSER_MAP = { focus: 'Focus', generic: 'Generic', googlebot: 'Googlebot', + google_search: 'Google Search', ie: 'Internet Explorer', k_meleon: 'K-Meleon', maxthon: 'Maxthon', diff --git a/src/parser-browsers.js b/src/parser-browsers.js index 57d3285..b330d26 100644 --- a/src/parser-browsers.js +++ b/src/parser-browsers.js @@ -561,6 +561,21 @@ const browsersList = [ return browser; }, }, + { + test: [/GSA/i], + describe(ua) { + const browser = { + name: 'Google Search', + }; + const version = Utils.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i, ua); + + if (version) { + browser.version = version; + } + + return browser; + }, + }, /* Android Browser */ { diff --git a/test/acceptance/useragentstrings.yml b/test/acceptance/useragentstrings.yml index d0d8e0f..77821e8 100644 --- a/test/acceptance/useragentstrings.yml +++ b/test/acceptance/useragentstrings.yml @@ -336,6 +336,23 @@ type: "tv" engine: name: "Blink" + Google Search: + - + ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GSA/83.0.268992909 Mobile/15E148 Safari/605.1" + spec: + browser: + name: "Google Search" + version: "83.0.268992909" + os: + name: "iOS" + version: "12.4" + platform: + type: "mobile" + vendor: "Apple" + model: "iPhone" + engine: + name: "WebKit" + version: "605.1.15" Amazon Silk: - ua: "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true"