Skip to content
This repository was archived by the owner on Apr 11, 2024. It is now read-only.

Commit a2f5b0a

Browse files
committed
Add support for Samsung Internet and more Samsung devices.
1 parent a1ea338 commit a2f5b0a

File tree

2 files changed

+53
-2
lines changed

2 files changed

+53
-2
lines changed

platform.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,7 @@
377377
'Raven',
378378
'Rekonq',
379379
'RockMelt',
380+
{ 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },
380381
'SeaMonkey',
381382
{ 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },
382383
'Sleipnir',
@@ -407,6 +408,11 @@
407408
{ 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },
408409
{ 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },
409410
{ 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },
411+
{ 'label': 'Galaxy S5', 'pattern': 'SM-G900' },
412+
{ 'label': 'Galaxy S6', 'pattern': 'SM-G920' },
413+
{ 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },
414+
{ 'label': 'Galaxy S7', 'pattern': 'SM-G930' },
415+
{ 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },
410416
'Google TV',
411417
'Lumia',
412418
'iPad',
@@ -561,6 +567,7 @@
561567
var pattern = guess.pattern || qualify(guess);
562568
if (!result && (result =
563569
RegExp('\\b' + pattern + ' *\\d+[.\\w_]*', 'i').exec(ua) ||
570+
RegExp('\\b' + pattern + ' *\\w+-[\\w]*', 'i').exec(ua) ||
564571
RegExp('\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i').exec(ua)
565572
)) {
566573
// Split by forward slash and append product version if needed.
@@ -687,7 +694,7 @@
687694
// Detect non-Opera (Presto-based) versions (order is important).
688695
if (!version) {
689696
version = getVersion([
690-
'(?:Cloud9|CriOS|CrMo|Edge|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|Silk(?!/[\\d.]+$))',
697+
'(?:Cloud9|CriOS|CrMo|Edge|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$))',
691698
'Version',
692699
qualify(name),
693700
'(?:Firefox|Minefield|NetFront)'
@@ -959,7 +966,7 @@
959966
if (layout && !/\b(?:Avant|Nook)\b/.test(name) && (
960967
/Browser|Lunascape|Maxthon/.test(name) ||
961968
name != 'Safari' && /^iOS/.test(os) && /\bSafari\b/.test(layout[1]) ||
962-
/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Sleipnir|Web)/.test(name) && layout[1])) {
969+
/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|Web)/.test(name) && layout[1])) {
963970
// Don't add layout details to description if they are falsey.
964971
(data = layout[layout.length - 1]) && description.push(data);
965972
}

test/test.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2202,6 +2202,50 @@
22022202
'version': '8.0'
22032203
},
22042204

2205+
'Samsung Internet 2.1 (like Chrome 34.0.1847.76) on Samsung Galaxy S5 (Android 5.0)': {
2206+
'ua' : 'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-G900F Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36',
2207+
'layout': 'Blink',
2208+
'likeChrome': true,
2209+
'manufacturer': 'Samsung',
2210+
'name': 'Samsung Internet',
2211+
'os': 'Android 5.0',
2212+
'product': 'Galaxy S5',
2213+
'version': '2.1'
2214+
},
2215+
2216+
'Samsung Internet 4.0 (like Chrome 44.0.2403.133) on Samsung Galaxy S6 Edge (Android 5.0.2)': {
2217+
'ua' : 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36',
2218+
'layout': 'Blink',
2219+
'likeChrome': true,
2220+
'manufacturer': 'Samsung',
2221+
'name': 'Samsung Internet',
2222+
'os': 'Android 5.0.2',
2223+
'product': 'Galaxy S6 Edge',
2224+
'version': '4.0'
2225+
},
2226+
2227+
'Samsung Internet 4.0 (like Chrome 44.0.2403.133) on Samsung Galaxy S7 (Android 6.0)': {
2228+
'ua' : 'Mozilla/5.0 (Linux; Android 6.0; SAMSUNG SM-G930F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36',
2229+
'layout': 'Blink',
2230+
'likeChrome': true,
2231+
'manufacturer': 'Samsung',
2232+
'name': 'Samsung Internet',
2233+
'os': 'Android 6.0',
2234+
'product': 'Galaxy S7',
2235+
'version': '4.0'
2236+
},
2237+
2238+
'Samsung Internet 4.0 (like Chrome 44.0.2403.133) on Samsung Galaxy S7 Edge (Android 6.0)': {
2239+
'ua' : 'Mozilla/5.0 (Linux; Android 6.0; SAMSUNG SM-G935F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36',
2240+
'layout': 'Blink',
2241+
'likeChrome': true,
2242+
'manufacturer': 'Samsung',
2243+
'name': 'Samsung Internet',
2244+
'os': 'Android 6.0',
2245+
'product': 'Galaxy S7 Edge',
2246+
'version': '4.0'
2247+
},
2248+
22052249
'SeaMonkey 1.1.7#{alpha} on Haiku': {
22062250
'ua': 'Mozilla/5.0 (BeOS; U; Haiku BePC; en-US; rv:1.8.1.10pre) Gecko/20080112 SeaMonkey/1.1.7pre',
22072251
'layout': 'Gecko',

0 commit comments

Comments
 (0)