You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2021/03/03 09:21:53 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2583] browser detection is moved to main

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 <so...@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