Add desktopsharing error events with emitters

This commit is contained in:
David Chau 2015-09-10 11:53:46 -06:00 committed by Robert Smallwood
parent ae36f52b66
commit 7db96adf7a
3 changed files with 18 additions and 6 deletions

View File

@ -1,5 +1,6 @@
/* global config, APP, chrome, $, alert */
/* jshint -W003 */
var EventEmitter = require("events");
var RTCBrowserType = require("../RTC/RTCBrowserType");
var AdapterJS = require("../RTC/adapter.screenshare");
var DesktopSharingEventTypes
@ -32,6 +33,8 @@ var firefoxExtInstalled = null;
*/
var reDetectFirefoxExtension = false;
var eventEmitter = new EventEmitter();
/**
* Handles obtaining a stream from a screen capture on different browsers.
*/
@ -182,9 +185,8 @@ function isUpdateRequired(minVersion, extVersion) {
return false;
}
catch (e) {
eventEmitter.emit(DesktopSharingEventTypes.EXTENSION_VERSION_ERROR);
console.error("Failed to parse extension version", e);
APP.UI.messageHandler.showError("dialog.error",
"dialog.detectext");
return true;
}
}
@ -280,10 +282,10 @@ function obtainScreenFromExtension(streamCallback, failCallback) {
}, 500);
},
function (arg) {
eventEmitter
.emit(DesktopSharingEventTypes.EXTENSION_INSTALLATION_ERROR);
console.log("Failed to install the extension", arg);
failCallback(arg);
APP.UI.messageHandler.showError("dialog.error",
"dialog.failtoinstall");
}
);
}

View File

@ -39,6 +39,7 @@ function newStreamCreated(stream) {
}
function getVideoStreamFailed(error) {
eventEmitter.emit(DesktopSharingEventTypes.VIDEOSTREAM_ERROR);
console.error("Failed to obtain the stream to switch to", error);
switchInProgress = false;
isUsingScreenStream = false;
@ -46,6 +47,7 @@ function getVideoStreamFailed(error) {
}
function getDesktopStreamFailed(error) {
eventEmitter.emit(DesktopSharingEventTypes.EXTENSION_STREAM_ERROR);
console.error("Failed to obtain the stream to switch to", error);
switchInProgress = false;
}

View File

@ -9,7 +9,15 @@ var DesktopSharingEventTypes = {
* An event which indicates that the jidesha extension for Firefox is
* needed to proceed with screen sharing, and that it is not installed.
*/
FIREFOX_EXTENSION_NEEDED: "ds.firefox_extension_needed"
FIREFOX_EXTENSION_NEEDED: "ds.firefox_extension_needed",
EXTENSION_VERSION_ERROR: "ds.extesion_version_error",
EXTENSION_INSTALLATION_ERROR: "ds.extesion_installation_error",
EXTENSION_STREAM_ERROR: "ds.extesion_stream_error",
VIDEOSTREAM_ERROR: "ds.video_stream_error"
};
module.exports = DesktopSharingEventTypes;
module.exports = DesktopSharingEventTypes;