From e29357793a9f90ce87c4b614d03eb84bf54390f7 Mon Sep 17 00:00:00 2001 From: Axel Navarro Date: Wed, 25 Sep 2019 08:44:58 -0300 Subject: [PATCH] feat(browsers): Add Google Search App detection --- src/constants.js | 2 ++ src/parser-browsers.js | 15 +++++++++++++++ test/acceptance/useragentstrings.yml | 17 +++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/src/constants.js b/src/constants.js index 330b977..5cc44b4 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', @@ -50,6 +51,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 6a8c28a..240aade 100644 --- a/src/parser-browsers.js +++ b/src/parser-browsers.js @@ -546,6 +546,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 8e3e7d0..04013b5 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"