Merge pull request #658 from ritzalam/fix-issue-1953

- fix https://code.google.com/p/bigbluebutton/issues/detail?id=1953
This commit is contained in:
Richard Alam 2015-06-17 15:24:47 -04:00
commit 9fba1a2120
5 changed files with 55 additions and 13 deletions

View File

@ -3,6 +3,9 @@ if (!window.console.log) window.console.log = function () { };
function startApplet(IP, roomNumber, fullScreen, useSVC2)
{
var deskshareElement = document.getElementById("deskshare");
if (deskshareElement == null) {
console.log("Starting deskshare applet.");
var div = document.createElement("div");
div.id = "deskshare";
@ -20,15 +23,40 @@ function startApplet(IP, roomNumber, fullScreen, useSVC2)
"<param name=\"permissions\" value=\"all-permissions\"/>" +
"</applet>";
document.body.appendChild(div);
} else {
console.log("Deskshare applet element already exists.");
var div = document.getElementById("deskshare");
if (div.parentNode) {
// Just rewrite the applet tag to kick off the applet. We don't remove the applet tag
// when desktop sharing is stopped to prevent Firefox (38.0.5) from asking for user permissions
// again resulting in the page reloading. (ralam june 17, 2015)
// https://code.google.com/p/bigbluebutton/issues/detail?id=1953
div.innerHTML =
"<applet code=\"org.bigbluebutton.deskshare.client.DeskShareApplet.class\"" +
"id=\"DeskShareApplet\" width=\"100\" height=\"10\" archive=\"bbb-deskshare-applet-0.9.0.jar\">" +
"<param name=\"ROOM\" value=\"" + roomNumber + "\"/>" +
"<param name=\"IP\" value=\"" + IP + "\"/>" +
"<param name=\"PORT\" value=\"9123\"/>" +
"<param name=\"SCALE\" value=\"0.8\"/>" +
"<param name=\"FULL_SCREEN\" value=\"" + fullScreen + "\"/>" +
"<param name=\"SVC2\" value=\"" + useSVC2 + "\"/>" +
"<param name=\"JavaVersion\" value=\"1.7.0_51\"/>" +
"<param name=\"permissions\" value=\"all-permissions\"/>" +
"</applet>";
}
}
}
function removeFrame () {
var div = document.getElementById("deskshare");
if (div.parentNode) {
// Need to set the innerHTML otherwise the applet will restart in IE.
// see https://code.google.com/p/bigbluebutton/issues/detail?id=1776
div.innerHTML = "";
div.parentNode.removeChild(div);
// Do NOT remove the applet tag as it makes Firefox (38.0.5) prompt for
// permissions again resulting in the page reloading. (ralam june 17, 2015)
// div.innerHTML = "";
// div.parentNode.removeChild(div);
}
}
@ -142,4 +170,4 @@ function checkJavaVersion(minJavaVersion) {
}
}
}
}

View File

@ -101,6 +101,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
[Bindable] private var baseIndex:int;
[Bindable] private var dsOptions:DeskshareOptions;
private var calledStopApplet:Boolean = false;
private function init():void {
dsOptions = new DeskshareOptions();
baseIndex = dsOptions.baseTabIndex;
@ -340,15 +342,24 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
closeWindow();
}
private function closeWindow():void {
ExternalInterface.call("stopApplet");
dispatchEvent(new ShareWindowEvent(ShareWindowEvent.CLOSE));
}
private function restartJava():void {
ExternalInterface.call("stopApplet");
shareScreen(sharingFullScreen);
}
private function callStopApplet():void {
if (!calledStopApplet) {
calledStopApplet = true;
trace("Calling stopApplet in callStopApplet()");
ExternalInterface.call("stopApplet");
}
}
private function closeWindow():void {
trace("Calling stopApplet in closeWindow()");
callStopApplet();
dispatchEvent(new ShareWindowEvent(ShareWindowEvent.CLOSE));
}
private function restartJava():void {
trace("Calling stopApplet in restartJava()");
callStopApplet();
shareScreen(sharingFullScreen);
}
private function handleDeskshareAppletLaunchedEvent(e:DeskshareAppletLaunchedEvent):void {
if (javaTimer && javaTimer.running) {

View File

@ -192,7 +192,9 @@ public class DeskShareApplet extends JApplet implements ClientListener {
}
public void onClientStop(ExitCode reason) {
// determine if client is disconnected _PTS_272_
client.stop();
/*
if ( ExitCode.CONNECTION_TO_DESKSHARE_SERVER_DROPPED == reason ){
JFrame pframe = new JFrame("Desktop Sharing Disconneted");
if ( null != pframe ){
@ -206,6 +208,7 @@ public class DeskShareApplet extends JApplet implements ClientListener {
}else{
client.stop();
}
*/
}
}