Browse Source

Show message if screen sharing start failed for arbitrary reason.

Fall back to legacy screen sharing when possible and inline install failed.
pull/84/head
Simon Eisenmann 11 years ago
parent
commit
42e7fc84f6
  1. 1
      static/js/directives/screenshare.js
  2. 11
      static/js/services/screensharing.js

1
static/js/directives/screenshare.js

@ -177,6 +177,7 @@ define(['jquery', 'underscore', 'text!partials/screenshare.html', 'text!partials
} }
}, function(err) { }, function(err) {
console.log("Screen sharing request returned error", err); console.log("Screen sharing request returned error", err);
alertify.dialog.alert(translation._("Failed to start screen sharing (%s).", err));
$scope.stopScreenshare(); $scope.stopScreenshare();
}); });

11
static/js/services/screensharing.js

@ -130,6 +130,7 @@ define(['underscore', 'webrtc.adapter'], function(_) {
this.supported = this.autoinstall = true; this.supported = this.autoinstall = true;
var that = this; var that = this;
var waiting = false; var waiting = false;
var prepareAlternative = this.prepare;
this.prepare = function(options) { this.prepare = function(options) {
var d = $q.defer(); var d = $q.defer();
var install = chromeExtension.autoinstall.install(); var install = chromeExtension.autoinstall.install();
@ -167,8 +168,18 @@ define(['underscore', 'webrtc.adapter'], function(_) {
d.reject("Timeout while waiting for extension getting installed"); d.reject("Timeout while waiting for extension getting installed");
}, 30000); }, 30000);
}, function(err) { }, function(err) {
console.log("Auto install of extension failed.", err);
if (prepareAlternative) {
var alternative = prepareAlternative(options);
alternative.then(function(id) {
d.resolve(id);
}, function() {
d.reject(err); d.reject(err);
}); });
} else {
d.reject(err);
}
});
return d.promise; return d.promise;
}; };
this.cancel = function() { this.cancel = function() {

Loading…
Cancel
Save