diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 4101e4d1ae..2ce8557eb7 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1779,6 +1779,7 @@ var AppInfo = {}; } var apiClientBowerPath = bowerPath + "/emby-apiclient"; + var embyWebComponentsBowerPath = bowerPath + '/emby-webcomponents'; var paths = { velocity: bowerPath + "/velocity/velocity.min", @@ -1801,6 +1802,8 @@ var AppInfo = {}; credentialprovider: apiClientBowerPath + '/credentials', apiclient: apiClientBowerPath + '/apiclient', connectionmanagerfactory: apiClientBowerPath + '/connectionmanager', + browserdeviceprofile: embyWebComponentsBowerPath + "/browserdeviceprofile", + browser: embyWebComponentsBowerPath + "/browser", connectservice: apiClientBowerPath + '/connectservice' }; @@ -2370,78 +2373,11 @@ var AppInfo = {}; return getWebHostingAppInfo(); } - function setBrowserInfo(isMobile) { - - var uaMatch = function (ua) { - ua = ua.toLowerCase(); - - var match = /(edge)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(opr)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(safari)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - var platform_match = /(ipad)/.exec(ua) || - /(iphone)/.exec(ua) || - /(android)/.exec(ua) || - []; - - var browser = match[1] || ""; - - if (ua.indexOf("windows phone") != -1 || ua.indexOf("iemobile") != -1) { - - // http://www.neowin.net/news/ie11-fakes-user-agent-to-fool-gmail-in-windows-phone-81-gdr1-update - browser = "msie"; - } - else if (ua.indexOf("like gecko") != -1 && ua.indexOf('webkit') == -1 && ua.indexOf('opera') == -1 && ua.indexOf('chrome') == -1 && ua.indexOf('safari') == -1) { - browser = "msie"; - } - - if (browser == 'opr') { - browser = 'opera'; - } - - return { - browser: browser, - version: match[2] || "0", - platform: platform_match[0] || "" - }; - }; - - var userAgent = window.navigator.userAgent; - var matched = uaMatch(userAgent); - var browser = {}; - - if (matched.browser) { - browser[matched.browser] = true; - browser.version = matched.version; - } - - if (matched.platform) { - browser[matched.platform] = true; - } - - if (!browser.chrome && !browser.msie && !browser.edge && !browser.opera && userAgent.toLowerCase().indexOf("webkit") != -1) { - browser.safari = true; - } - - if (isMobile.any) { - browser.mobile = true; - } - - browser.animate = document.documentElement.animate != null; - - window.browserInfo = browser; - } - initRequire(); var initialDependencies = []; - initialDependencies.push('isMobile'); + initialDependencies.push('browser'); initialDependencies.push('apiclient-store'); initialDependencies.push('scripts/extensions'); @@ -2455,7 +2391,9 @@ var AppInfo = {}; initialDependencies.push('native-promise-only'); } - require(initialDependencies, function (isMobile) { + require(initialDependencies, function (browser) { + + window.browserInfo = browser; function onWebComponentsReady() { @@ -2469,7 +2407,6 @@ var AppInfo = {}; }); } - setBrowserInfo(isMobile); setAppInfo(); setDocumentClasses();