diff options
Diffstat (limited to 'browser/base/content/test/webrtc/get_user_media_content_script.js')
-rw-r--r-- | browser/base/content/test/webrtc/get_user_media_content_script.js | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/browser/base/content/test/webrtc/get_user_media_content_script.js b/browser/base/content/test/webrtc/get_user_media_content_script.js deleted file mode 100644 index 71b68d826..000000000 --- a/browser/base/content/test/webrtc/get_user_media_content_script.js +++ /dev/null @@ -1,85 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); -XPCOMUtils.defineLazyServiceGetter(this, "MediaManagerService", - "@mozilla.org/mediaManagerService;1", - "nsIMediaManagerService"); - -const kObservedTopics = [ - "getUserMedia:response:allow", - "getUserMedia:revoke", - "getUserMedia:response:deny", - "getUserMedia:request", - "recording-device-events", - "recording-window-ended" -]; - -var gObservedTopics = {}; -function observer(aSubject, aTopic, aData) { - if (!(aTopic in gObservedTopics)) - gObservedTopics[aTopic] = 1; - else - ++gObservedTopics[aTopic]; -} - -kObservedTopics.forEach(topic => { - Services.obs.addObserver(observer, topic, false); -}); - -addMessageListener("Test:ExpectObserverCalled", ({data}) => { - sendAsyncMessage("Test:ExpectObserverCalled:Reply", - {count: gObservedTopics[data]}); - if (data in gObservedTopics) - --gObservedTopics[data]; -}); - -addMessageListener("Test:ExpectNoObserverCalled", data => { - sendAsyncMessage("Test:ExpectNoObserverCalled:Reply", gObservedTopics); - gObservedTopics = {}; -}); - -function _getMediaCaptureState() { - let hasVideo = {}; - let hasAudio = {}; - let hasScreenShare = {}; - let hasWindowShare = {}; - MediaManagerService.mediaCaptureWindowState(content, hasVideo, hasAudio, - hasScreenShare, hasWindowShare); - if (hasVideo.value && hasAudio.value) - return "CameraAndMicrophone"; - if (hasVideo.value) - return "Camera"; - if (hasAudio.value) - return "Microphone"; - if (hasScreenShare.value) - return "Screen"; - if (hasWindowShare.value) - return "Window"; - return "none"; -} - -addMessageListener("Test:GetMediaCaptureState", data => { - sendAsyncMessage("Test:MediaCaptureState", _getMediaCaptureState()); -}); - -addMessageListener("Test:WaitForObserverCall", ({data}) => { - let topic = data; - Services.obs.addObserver(function observer() { - sendAsyncMessage("Test:ObserverCalled", topic); - Services.obs.removeObserver(observer, topic); - - if (kObservedTopics.indexOf(topic) != -1) { - if (!(topic in gObservedTopics)) - gObservedTopics[topic] = -1; - else - --gObservedTopics[topic]; - } - }, topic, false); -}); - -addMessageListener("Test:WaitForMessage", () => { - content.addEventListener("message", ({data}) => { - sendAsyncMessage("Test:MessageReceived", data); - }, {once: true}); -}); |