This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 3a5d245  [OPENMEETINGS-2583] browser detection is moved to main
3a5d245 is described below

commit 3a5d245f6018a0f0f00e33776ea2a60945b9878b
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Wed Mar 3 16:21:18 2021 +0700

    [OPENMEETINGS-2583] browser detection is moved to main
---
 openmeetings-web/src/main/front/main/package.json  |  3 +++
 .../src/main/front/main/src/omutils.js             | 25 +++++++++++++++++++-
 openmeetings-web/src/main/front/room/src/sharer.js |  8 +++----
 openmeetings-web/src/main/front/room/src/video.js  |  6 ++---
 .../src/main/front/settings/src/settings.js        |  3 +--
 .../src/main/front/settings/src/video-util.js      | 27 +++-------------------
 6 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/openmeetings-web/src/main/front/main/package.json 
b/openmeetings-web/src/main/front/main/package.json
index 56c4177..f0510c5 100644
--- a/openmeetings-web/src/main/front/main/package.json
+++ b/openmeetings-web/src/main/front/main/package.json
@@ -14,5 +14,8 @@
   "devDependencies": {
     "browserify": "^17.0.0",
     "tinyify": "^3.0.0"
+  },
+  "dependencies": {
+    "ua-parser-js": "^0.7.24"
   }
 }
diff --git a/openmeetings-web/src/main/front/main/src/omutils.js 
b/openmeetings-web/src/main/front/main/src/omutils.js
index 09ef4b0..6e19753 100644
--- a/openmeetings-web/src/main/front/main/src/omutils.js
+++ b/openmeetings-web/src/main/front/main/src/omutils.js
@@ -1,4 +1,10 @@
 /* Licensed under the Apache License, Version 2.0 (the "License") 
http://www.apache.org/licenses/LICENSE-2.0 */
+
+const UAParser = require('ua-parser-js')
+       , ua = (typeof window !== 'undefined' && window.navigator) ? 
window.navigator.userAgent : ''
+       , parser = new UAParser(ua)
+       , browser = parser.getBrowser();
+
 let options, alertId = 0;
 
 function _init(_options) {
@@ -54,7 +60,7 @@ function _requestNotifyPermission(callback, elseCallback) {
                                callback();
                        }
                }
-               if (VideoUtil.browser.name === 'Safari') {
+               if (_isSafari()) {
                        Notification.requestPermission(onRequest);
                } else {
                        Notification.requestPermission().then(onRequest);
@@ -80,6 +86,18 @@ function _notify(msg, tag, elseCallback) {
                elseCallback();
        }
 }
+function _isSafari() {
+       return browser.name === 'Safari';
+}
+function _isChrome() {
+       return browser.name === 'Chrome' || browser.name === 'Chromium';
+}
+function _isEdge() {
+       return browser.name === 'Edge' && "MSGestureEvent" in window;
+}
+function _isEdgeChromium() {
+       return browser.name === 'Edge' && !("MSGestureEvent" in window);
+}
 
 module.exports = {
        init: _init
@@ -109,4 +127,9 @@ module.exports = {
        }
        , notify: _notify
        , requestNotifyPermission: _requestNotifyPermission
+       , browser: browser
+       , isEdge: _isEdge
+       , isEdgeChromium: _isEdgeChromium
+       , isChrome: _isChrome
+       , isSafari: _isSafari
 };
diff --git a/openmeetings-web/src/main/front/room/src/sharer.js 
b/openmeetings-web/src/main/front/room/src/sharer.js
index 03517b1..827ac28 100644
--- a/openmeetings-web/src/main/front/room/src/sharer.js
+++ b/openmeetings-web/src/main/front/room/src/sharer.js
@@ -34,9 +34,8 @@ function _init() {
                sharer.find('.alert').show();
        } else {
                type = sharer.find('select.type');
-               const b = VideoUtil.browser;
                fps = sharer.find('select.fps');
-               _disable(fps, VideoUtil.isEdge(b));
+               _disable(fps, OmUtil.isEdge());
                sbtn = sharer.find('.share-start-stop').off().click(function() {
                        if (shareState === SHARE_STOPPED) {
                                _setShareState(SHARE_STARTING);
@@ -82,9 +81,8 @@ function _disable(e, state) {
                e.removeClass('disabled');
        }
 }
-function _typeDisabled(_b) {
-       const b = _b || VideoUtil.browser;
-       return VideoUtil.isEdge(b) || VideoUtil.isChrome(b) || 
VideoUtil.isEdgeChromium(b);
+function _typeDisabled() {
+       return OmUtil.isEdge() || OmUtil.isChrome() || OmUtil.isEdgeChromium();
 }
 function _setBtnState(btn, state) {
        const dis = SHARE_STOPPED !== state
diff --git a/openmeetings-web/src/main/front/room/src/video.js 
b/openmeetings-web/src/main/front/room/src/video.js
index 59cedd5..7f4d4b5 100644
--- a/openmeetings-web/src/main/front/room/src/video.js
+++ b/openmeetings-web/src/main/front/room/src/video.js
@@ -35,9 +35,9 @@ module.exports = class Video {
                                Sharer.setRecState(Sharer.SHARE_STOPPED);
                                OmUtil.error(err);
                        }
-                       const b = VideoUtil.browser;
+                       const b = OmUtil.browser;
                        let promise, cnts;
-                       if (VideoUtil.isEdge(b) && b.major > 16) {
+                       if (OmUtil.isEdge() && b.major > 16) {
                                cnts = {
                                        video: true
                                };
@@ -98,7 +98,7 @@ module.exports = class Video {
                                                        data.aSrc = 
data.aCtx.createMediaStreamSource(stream);
                                                        
data.aSrc.connect(data.gainNode);
                                                        
data.gainNode.connect(data.analyser);
-                                                       if (VideoUtil.isEdge()) 
{
+                                                       if (OmUtil.isEdge()) {
                                                                
data.analyser.connect(data.aCtx.destination);
                                                        } else {
                                                                data.aDest = 
data.aCtx.createMediaStreamDestination();
diff --git a/openmeetings-web/src/main/front/settings/src/settings.js 
b/openmeetings-web/src/main/front/settings/src/settings.js
index e982ec9..633eaf6 100644
--- a/openmeetings-web/src/main/front/settings/src/settings.js
+++ b/openmeetings-web/src/main/front/settings/src/settings.js
@@ -130,8 +130,7 @@ function _updateRec() {
        recBtn.prop('disabled', !recAllowed || (s.video.cam < 0 && s.video.mic 
< 0));
 }
 function _setCntsDimensions(cnts) {
-       const b = VideoUtil.browser;
-       if (b.name === 'Safari') {
+       if (OmUtil.isSafari()) {
                let width = s.video.width;
                //valid widths are 320, 640, 1280
                [320, 640, 1280].some(function(w) {
diff --git a/openmeetings-web/src/main/front/settings/src/video-util.js 
b/openmeetings-web/src/main/front/settings/src/video-util.js
index ca59500..a4469b5 100644
--- a/openmeetings-web/src/main/front/settings/src/video-util.js
+++ b/openmeetings-web/src/main/front/settings/src/video-util.js
@@ -8,11 +8,6 @@ const MIC_ACTIVITY = 'AUDIO';
 const SCREEN_ACTIVITY = 'SCREEN';
 const REC_ACTIVITY = 'RECORD';
 
-const UAParser = require('ua-parser-js')
-       , ua = (typeof window !== 'undefined' && window.navigator) ? 
window.navigator.userAgent : ''
-       , parser = new UAParser(ua)
-       , browser = parser.getBrowser();
-
 function _getVid(uid) {
        return 'video' + uid;
 }
@@ -234,18 +229,6 @@ function _cleanPeer(peer) {
                }
        }
 }
-function _isChrome(_b) {
-       const b = _b || browser;
-       return b.name === 'Chrome' || b.name === 'Chromium';
-}
-function _isEdge(_b) {
-       const b = _b || browser;
-       return b.name === 'Edge' && "MSGestureEvent" in window;
-}
-function _isEdgeChromium(_b) {
-       const b = _b || browser;
-       return b.name === 'Edge' && !("MSGestureEvent" in window);
-}
 function _setPos(v, pos) {
        if (v.dialog('instance')) {
                v.dialog('widget').css(pos);
@@ -283,13 +266,13 @@ function _disconnect(node) {
        }
 }
 function _sharingSupported() {
-       const b = browser;
+       const b = OmUtil.browser;
        return (b.name === 'Edge' && b.major > 16)
                || (b.name === 'Firefox')
                || (b.name === 'Opera')
                || (b.name === 'Yandex')
-               || _isChrome(b)
-               || _isEdgeChromium(b)
+               || OmUtil.isChrome()
+               || OmUtil.isEdgeChromium()
                || (b.name === 'Mozilla' && b.major > 4);
 }
 function _highlight(el, clazz, count) {
@@ -309,7 +292,6 @@ module.exports = {
        VIDWIN_SEL: VIDWIN_SEL
        , VID_SEL: VID_SEL
 
-       , browser: browser
        , getVid: _getVid
        , isSharing: _isSharing
        , isRecording: _isRecording
@@ -329,9 +311,6 @@ module.exports = {
                }
                return opts;
        }
-       , isEdge: _isEdge
-       , isEdgeChromium: _isEdgeChromium
-       , isChrome: _isChrome
        , setPos: _setPos
        , askPermission: _askPermission
        , disconnect: _disconnect

Reply via email to