diff options
Diffstat (limited to 'browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js')
-rw-r--r-- | browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js b/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js deleted file mode 100644 index f407061a7..000000000 --- a/browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js +++ /dev/null @@ -1,109 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -registerCleanupFunction(function() { - gBrowser.removeCurrentTab(); -}); - -var gTests = [ - -{ - desc: "device sharing animation on background tabs", - run: function* checkAudioVideo() { - function* getStreamAndCheckBackgroundAnim(aAudio, aVideo, aSharing) { - // Get a stream - let popupPromise = promisePopupNotificationShown("webRTC-shareDevices"); - yield promiseRequestDevice(aAudio, aVideo); - yield popupPromise; - yield expectObserverCalled("getUserMedia:request"); - - yield promiseMessage("ok", () => { - PopupNotifications.panel.firstChild.button.click(); - }); - yield expectObserverCalled("getUserMedia:response:allow"); - yield expectObserverCalled("recording-device-events"); - let expected = []; - if (aVideo) - expected.push("Camera"); - if (aAudio) - expected.push("Microphone"); - is((yield getMediaCaptureState()), expected.join("And"), - "expected stream to be shared"); - - // Check the attribute on the tab, and check there's no visible - // sharing icon on the tab - let tab = gBrowser.selectedTab; - is(tab.getAttribute("sharing"), aSharing, - "the tab has the attribute to show the " + aSharing + " icon"); - let icon = - document.getAnonymousElementByAttribute(tab, "anonid", "sharing-icon"); - is(window.getComputedStyle(icon).display, "none", - "the animated sharing icon of the tab is hidden"); - - // After selecting a new tab, check the attribute is still there, - // and the icon is now visible. - yield BrowserTestUtils.switchTab(gBrowser, gBrowser.addTab()); - is(gBrowser.selectedTab.getAttribute("sharing"), "", - "the new tab doesn't have the 'sharing' attribute"); - is(tab.getAttribute("sharing"), aSharing, - "the tab still has the 'sharing' attribute"); - isnot(window.getComputedStyle(icon).display, "none", - "the animated sharing icon of the tab is now visible"); - - // Ensure the icon disappears when selecting the tab. - yield BrowserTestUtils.removeTab(gBrowser.selectedTab); - ok(tab.selected, "the tab with ongoing sharing is selected again"); - is(window.getComputedStyle(icon).display, "none", - "the animated sharing icon is gone after selecting the tab again"); - - // And finally verify the attribute is removed when closing the stream. - yield closeStream(); - - // TODO(Bug 1304997): Fix the race in closeStream() and remove this - // promiseWaitForCondition(). - yield promiseWaitForCondition(() => !tab.getAttribute("sharing")); - is(tab.getAttribute("sharing"), "", - "the tab no longer has the 'sharing' attribute after closing the stream"); - } - - yield getStreamAndCheckBackgroundAnim(true, true, "camera"); - yield getStreamAndCheckBackgroundAnim(false, true, "camera"); - yield getStreamAndCheckBackgroundAnim(true, false, "microphone"); - } -} - -]; - -function test() { - waitForExplicitFinish(); - - let tab = gBrowser.addTab(); - gBrowser.selectedTab = tab; - let browser = tab.linkedBrowser; - - browser.messageManager.loadFrameScript(CONTENT_SCRIPT_HELPER, true); - - browser.addEventListener("load", function onload() { - browser.removeEventListener("load", onload, true); - - is(PopupNotifications._currentNotifications.length, 0, - "should start the test without any prior popup notification"); - - Task.spawn(function* () { - yield SpecialPowers.pushPrefEnv({"set": [[PREF_PERMISSION_FAKE, true]]}); - - for (let test of gTests) { - info(test.desc); - yield test.run(); - } - }).then(finish, ex => { - Cu.reportError(ex); - ok(false, "Unexpected Exception: " + ex); - finish(); - }); - }, true); - let rootDir = getRootDirectory(gTestPath); - rootDir = rootDir.replace("chrome://mochitests/content/", - "https://example.com/"); - content.location = rootDir + "get_user_media.html"; -} |