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 39cefe2  [OPENMEETINGS-2587] screen-sharing is Safari should work
39cefe2 is described below

commit 39cefe25629d0644013124c66ce45e9dd540311f
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Mon Jun 28 11:15:01 2021 +0700

    [OPENMEETINGS-2587] screen-sharing is Safari should work
---
 openmeetings-web/src/main/front/room/src/sharer.js         | 3 ++-
 openmeetings-web/src/main/front/room/src/video.js          | 8 +++++++-
 openmeetings-web/src/main/front/settings/src/video-util.js | 7 ++++---
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/openmeetings-web/src/main/front/room/src/sharer.js 
b/openmeetings-web/src/main/front/room/src/sharer.js
index 827ac28..6826571 100644
--- a/openmeetings-web/src/main/front/room/src/sharer.js
+++ b/openmeetings-web/src/main/front/room/src/sharer.js
@@ -19,7 +19,8 @@ function reset() {
 function _init() {
        reset();
        sharer = $('#sharer').dialog({
-               classes: {
+               appendTo: '.room-block .room-container'
+               , classes: {
                        'ui-dialog': 'sharer'
                        , 'ui-dialog-titlebar': ''
                }
diff --git a/openmeetings-web/src/main/front/room/src/video.js 
b/openmeetings-web/src/main/front/room/src/video.js
index fb146d9..709e9f8 100644
--- a/openmeetings-web/src/main/front/room/src/video.js
+++ b/openmeetings-web/src/main/front/room/src/video.js
@@ -51,7 +51,13 @@ module.exports = class Video {
                                cnts = {
                                        video: true
                                };
-                               promise = 
navigator.mediaDevices.getDisplayMedia(cnts);
+                               if (OmUtil.isSafari()) {
+                                       promise = new Promise((resolve) => {
+                                               
VideoUtil.askPermission(resolve);
+                                       }).then(() => 
navigator.mediaDevices.getDisplayMedia(cnts));
+                               } else {
+                                       promise = 
navigator.mediaDevices.getDisplayMedia(cnts);
+                               }
                        } else {
                                promise = new Promise(() => {
                                        Sharer.close();
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 3f06aa6..6fa3343 100644
--- a/openmeetings-web/src/main/front/settings/src/video-util.js
+++ b/openmeetings-web/src/main/front/settings/src/video-util.js
@@ -240,7 +240,7 @@ function _askPermission(callback) {
                perm.data('callbacks', []).dialog({
                        appendTo: '.room-block .room-container'
                        , dialogClass: "ask-video-play-permission"
-                       , autoOpen: true
+                       , autoOpen: false
                        , buttons: [
                                {
                                        text: perm.data('btn-ok')
@@ -253,8 +253,9 @@ function _askPermission(callback) {
                                }
                        ]
                });
-       } else if (!perm.dialog('isOpen')) {
-               perm.dialog('open')
+       }
+       if (!perm.dialog('isOpen')) {
+               perm.dialog('open');
        }
        perm.data('callbacks').push(callback);
 }

Reply via email to