diff --git a/modules/desktopsharing/ScreenObtainer.js b/modules/desktopsharing/ScreenObtainer.js index 9b3e1ae3d..223f626df 100644 --- a/modules/desktopsharing/ScreenObtainer.js +++ b/modules/desktopsharing/ScreenObtainer.js @@ -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"); } ); } diff --git a/modules/desktopsharing/desktopsharing.js b/modules/desktopsharing/desktopsharing.js index 4c91180cd..f245252ed 100644 --- a/modules/desktopsharing/desktopsharing.js +++ b/modules/desktopsharing/desktopsharing.js @@ -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; } diff --git a/service/desktopsharing/DesktopSharingEventTypes.js b/service/desktopsharing/DesktopSharingEventTypes.js index 5bf78b748..87360447c 100644 --- a/service/desktopsharing/DesktopSharingEventTypes.js +++ b/service/desktopsharing/DesktopSharingEventTypes.js @@ -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; \ No newline at end of file +module.exports = DesktopSharingEventTypes;