AppTile: Add Jitsi electron screensharing support
This commit is contained in:
parent
b42dfc51e1
commit
53574541c3
1 changed files with 25 additions and 0 deletions
|
@ -19,6 +19,7 @@ limitations under the License.
|
||||||
import url from 'url';
|
import url from 'url';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import MatrixClientPeg from '../../../MatrixClientPeg';
|
import MatrixClientPeg from '../../../MatrixClientPeg';
|
||||||
|
import PlatformPeg from '../../../PlatformPeg';
|
||||||
import ScalarAuthClient from '../../../ScalarAuthClient';
|
import ScalarAuthClient from '../../../ScalarAuthClient';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
|
@ -127,6 +128,30 @@ export default React.createClass({
|
||||||
loading: false,
|
loading: false,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
window.addEventListener('message', this._onMessage, false);
|
||||||
|
},
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
window.removeEventListener('message', this._onMessage);
|
||||||
|
},
|
||||||
|
|
||||||
|
_onMessage(event) {
|
||||||
|
if (!PlatformPeg.get().isElectron() || this.props.type !== 'jitsi') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!event.origin) {
|
||||||
|
event.origin = event.originalEvent.origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.state.widgetUrl.indexOf(event.origin) === -1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.data.widgetAction === 'jitsi_iframe_loaded') {
|
||||||
|
const iframe = this.refs.appFrame.contentWindow
|
||||||
|
.document.querySelector('iframe[id^="jitsiConferenceFrame"]');
|
||||||
|
PlatformPeg.get().setupScreenSharingForIframe(iframe);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_canUserModify: function() {
|
_canUserModify: function() {
|
||||||
|
|
Loading…
Reference in a new issue