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 2019/06/15 00:58:14 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2042] some issues are resolved

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 a7309e7  [OPENMEETINGS-2042] some issues are resolved
a7309e7 is described below

commit a7309e70b1dcf528312ced303669736a0ed4b8db
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Sat Jun 15 07:58:03 2019 +0700

    [OPENMEETINGS-2042] some issues are resolved
---
 .../cli/ConnectionPropertiesPatcher.java           |  9 +++-
 .../apache/openmeetings/web/app/WebSession.java    |  4 +-
 .../org/apache/openmeetings/web/room/raw-sharer.js | 50 +---------------------
 .../apache/openmeetings/web/room/raw-video-util.js |  5 ---
 .../org/apache/openmeetings/web/room/raw-video.js  |  7 +--
 5 files changed, 11 insertions(+), 64 deletions(-)

diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/ConnectionPropertiesPatcher.java b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/ConnectionPropertiesPatcher.java
index 9038d53..e9f8d43 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/ConnectionPropertiesPatcher.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/ConnectionPropertiesPatcher.java
@@ -20,6 +20,7 @@ package org.apache.openmeetings.cli;
 
 import java.io.File;
 
+import javax.xml.XMLConstants;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.transform.Transformer;
@@ -86,6 +87,8 @@ public abstract class ConnectionPropertiesPatcher {
 
 	private static Document getDocument(File xml) throws Exception {
 		DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+		dbFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+		dbFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
 		DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
 		return dBuilder.parse(xml);
 	}
@@ -106,8 +109,10 @@ public abstract class ConnectionPropertiesPatcher {
 		patcher.patchAttribute(tokens);
 		attr.setValue(StringUtils.join(tokens, ","));
 
-		TransformerFactory transformerFactory = TransformerFactory.newInstance();
-		Transformer transformer = transformerFactory.newTransformer();
+		TransformerFactory factory = TransformerFactory.newInstance();
+		factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+		factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+		Transformer transformer = factory.newTransformer();
 		DOMSource source = new DOMSource(doc);
 		transformer.transform(source, new StreamResult(OmFileHelper.getPersistence().getCanonicalPath())); //this constructor is used to avoid transforming path to URI
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
index 4ab4d3d..1d76f7c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
@@ -93,8 +93,8 @@ public class WebSession extends AbstractAuthenticatedWebSession implements IWebS
 	private static final long serialVersionUID = 1L;
 	private static final Logger log = LoggerFactory.getLogger(WebSession.class);
 	public static final int MILLIS_IN_MINUTE = 60000;
-	public static final List<String> AVAILABLE_TIMEZONES = Arrays.asList(TimeZone.getAvailableIDs());
-	public static final Set<String> AVAILABLE_TIMEZONE_SET = new LinkedHashSet<>(AVAILABLE_TIMEZONES);
+	public static final List<String> AVAILABLE_TIMEZONES = Collections.unmodifiableList(Arrays.asList(TimeZone.getAvailableIDs()));
+	public static final Set<String> AVAILABLE_TIMEZONE_SET = Collections.unmodifiableSet(new LinkedHashSet<>(AVAILABLE_TIMEZONES));
 	public static final String WICKET_ROOM_ID = "wicketroomid";
 	private Long userId = null;
 	private Set<Right> rights = new HashSet<>();
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-sharer.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-sharer.js
index a786251..dff4c63 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-sharer.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-sharer.js
@@ -73,7 +73,7 @@ var Sharer = (function() {
 	}
 	function _typeDisabled(_b) {
 		const b = _b || kurentoUtils.WebRtcPeer.browser;
-		return VideoUtil.isEdge(b) || VideoUtil.isChrome72(b);
+		return VideoUtil.isEdge(b) || VideoUtil.isChrome(b);
 	}
 	function _setShareState(state) {
 		shareState = state;
@@ -111,53 +111,6 @@ var Sharer = (function() {
 			rbtn.button('enable');
 		}
 	}
-	// Following methods are based on
-	// Licensed MIT
-	// Last time updated on June 08, 2018
-	// Latest file can be found here: https://cdn.webrtc-experiment.com/getScreenId.js
-	// Muaz Khan         - www.MuazKhan.com
-	function _getChromeConstraints(sd) {
-		return new Promise((resolve) => {
-			if (iframe) {
-				iframe.remove();
-			}
-			iframe = $('<iframe>')
-				.on('load', function() {
-					resolve();
-				})
-				.attr('src', frameUrl)
-				.hide();
-			$(document.body || document.documentElement).append(iframe);
-		}).then(() => {
-			return new Promise((resolve, reject) => {
-				window.addEventListener('message', _onIFrameCallback);
-
-				function _onIFrameCallback(event) {
-					if (!event.data) {
-						return;
-					}
-					if (event.data.chromeMediaSourceId) {
-						if (event.data.chromeMediaSourceId === 'PermissionDeniedError') {
-							reject('permission-denied');
-						} else {
-							resolve(_getScreenConstraints(sd, event.data.chromeMediaSourceId));
-						}
-						// this event listener is no more needed
-						window.removeEventListener('message', _onIFrameCallback);
-					}
-					if (event.data.chromeExtensionStatus) {
-						reject(event.data.chromeExtensionStatus);
-						// this event listener is no more needed
-						window.removeEventListener('message', _onIFrameCallback);
-					}
-				}
-
-				iframe[0].contentWindow.postMessage({
-					captureCustomSourceId: [sd.shareType]
-				}, '*');
-			});
-		});
-	};
 	function _getScreenConstraints(sd, sourceId) {
 		//Chrome screen constraints requires old school definition
 		const cnts = {
@@ -212,6 +165,5 @@ var Sharer = (function() {
 			, audio: false
 		};
 	};
-	self.getChromeConstraints = _getChromeConstraints;
 	return self;
 })();
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-util.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-util.js
index 67dbd6d..304f490 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-util.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-util.js
@@ -132,10 +132,6 @@ var VideoUtil = (function() {
 		const b = _b || kurentoUtils.WebRtcPeer.browser;
 		return b.name === 'Chrome' || b.name === 'Chromium';
 	}
-	function _isChrome72(_b) {
-		const b = _b || kurentoUtils.WebRtcPeer.browser;
-		return _isChrome(b) && b.major > 71;
-	}
 	function _isEdge(_b) {
 		const b = _b || kurentoUtils.WebRtcPeer.browser;
 		return b.name === 'Edge';
@@ -210,7 +206,6 @@ var VideoUtil = (function() {
 	};
 	self.isEdge = _isEdge;
 	self.isChrome = _isChrome;
-	self.isChrome72 = _isChrome72;
 	self.setPos = _setPos;
 	self.askPermission = _askPermission;
 	self.disconnect = _disconnect;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js
index 41aaf7f..efddec4 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js
@@ -59,16 +59,11 @@ var Video = (function() {
 			cnts = Sharer.baseConstraints(sd);
 			cnts.video.mediaSource = sd.shareType;
 			promise = navigator.mediaDevices.getUserMedia(cnts);
-		} else if (VideoUtil.isChrome72(b)) {
+		} else if (VideoUtil.isChrome(b)) {
 			cnts = {
 				video: true
 			};
 			promise = navigator.mediaDevices.getDisplayMedia(cnts);
-		} else if (VideoUtil.isChrome(b)) {
-			promise = Sharer.getChromeConstraints(sd).then((_cnts) => {
-				cnts = _cnts;
-				return navigator.mediaDevices.getUserMedia(_cnts);
-			});
 		} else {
 			promise = new Promise(() => {
 				Sharer.close();