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();