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