GUAC-977: Automatically disconnect all connections when window/tab is closed.

This commit is contained in:
Michael Jumper
2015-01-04 01:30:45 -08:00
parent 03ccdea71c
commit 6d814673cd

View File

@@ -23,8 +23,14 @@
/**
* A service for managing several active Guacamole clients.
*/
angular.module('client').factory('guacClientManager', ['ManagedClient',
function guacClientManager(ManagedClient) {
angular.module('client').factory('guacClientManager', ['$injector',
function guacClientManager($injector) {
// Required types
var ManagedClient = $injector.get('ManagedClient');
// Required services
var $window = $injector.get('$window');
var service = {};
@@ -121,6 +127,15 @@ angular.module('client').factory('guacClientManager', ['ManagedClient',
};
// Disconnect all clients when window is unloaded
$window.addEventListener('unload', function disconnectAllClients() {
// Disconnect each managed client
for (var id in service.managedClients)
service.managedClients[id].client.disconnect();
});
return service;
}]);