|
377 | 377 | 'Raven',
|
378 | 378 | 'Rekonq',
|
379 | 379 | 'RockMelt',
|
| 380 | + { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' }, |
380 | 381 | 'SeaMonkey',
|
381 | 382 | { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },
|
382 | 383 | 'Sleipnir',
|
|
407 | 408 | { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },
|
408 | 409 | { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },
|
409 | 410 | { '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' }, |
410 | 416 | 'Google TV',
|
411 | 417 | 'Lumia',
|
412 | 418 | 'iPad',
|
|
561 | 567 | var pattern = guess.pattern || qualify(guess);
|
562 | 568 | if (!result && (result =
|
563 | 569 | RegExp('\\b' + pattern + ' *\\d+[.\\w_]*', 'i').exec(ua) ||
|
| 570 | + RegExp('\\b' + pattern + ' *\\w+-[\\w]*', 'i').exec(ua) || |
564 | 571 | RegExp('\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i').exec(ua)
|
565 | 572 | )) {
|
566 | 573 | // Split by forward slash and append product version if needed.
|
|
687 | 694 | // Detect non-Opera (Presto-based) versions (order is important).
|
688 | 695 | if (!version) {
|
689 | 696 | 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.]+$))', |
691 | 698 | 'Version',
|
692 | 699 | qualify(name),
|
693 | 700 | '(?:Firefox|Minefield|NetFront)'
|
|
959 | 966 | if (layout && !/\b(?:Avant|Nook)\b/.test(name) && (
|
960 | 967 | /Browser|Lunascape|Maxthon/.test(name) ||
|
961 | 968 | 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])) { |
963 | 970 | // Don't add layout details to description if they are falsey.
|
964 | 971 | (data = layout[layout.length - 1]) && description.push(data);
|
965 | 972 | }
|
|
0 commit comments