From 4754c4d355cd6c6a62590ea516bb6d66f5549de2 Mon Sep 17 00:00:00 2001 From: Darius Oleskevicius Date: Wed, 27 Jun 2018 04:36:33 +1000 Subject: [PATCH] feat(browser): include iOS Chrome UA pattern when detecting Google Chrome (#5262) Make IS_CHROME return true and IS_ANY_SAFARI return false for iOS Chrome. --- src/js/tech/html5.js | 2 +- src/js/utils/browser.js | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/js/tech/html5.js b/src/js/tech/html5.js index b5ed09f091..5742f980d3 100644 --- a/src/js/tech/html5.js +++ b/src/js/tech/html5.js @@ -977,7 +977,7 @@ Html5.canOverrideAttributes = function() { * - False otherwise */ Html5.supportsNativeTextTracks = function() { - return browser.IS_ANY_SAFARI; + return browser.IS_ANY_SAFARI || (browser.IS_IOS && browser.IS_CHROME); }; /** diff --git a/src/js/utils/browser.js b/src/js/utils/browser.js index 829f5fe680..9a9d49df83 100644 --- a/src/js/utils/browser.js +++ b/src/js/utils/browser.js @@ -61,12 +61,12 @@ export const IS_NATIVE_ANDROID = IS_ANDROID && ANDROID_VERSION < 5 && appleWebki export const IS_FIREFOX = (/Firefox/i).test(USER_AGENT); export const IS_EDGE = (/Edge/i).test(USER_AGENT); -export const IS_CHROME = !IS_EDGE && (/Chrome/i).test(USER_AGENT); +export const IS_CHROME = !IS_EDGE && ((/Chrome/i).test(USER_AGENT) || (/CriOS/i).test(USER_AGENT)); export const CHROME_VERSION = (function() { - const match = USER_AGENT.match(/Chrome\/(\d+)/); + const match = USER_AGENT.match(/(Chrome|CriOS)\/(\d+)/); - if (match && match[1]) { - return parseFloat(match[1]); + if (match && match[2]) { + return parseFloat(match[2]); } return null; }()); @@ -84,7 +84,7 @@ export const IE_VERSION = (function() { }()); export const IS_SAFARI = (/Safari/i).test(USER_AGENT) && !IS_CHROME && !IS_ANDROID && !IS_EDGE; -export const IS_ANY_SAFARI = IS_SAFARI || IS_IOS; +export const IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME; export const TOUCH_ENABLED = Dom.isReal() && ( 'ontouchstart' in window ||