diff options
Diffstat (limited to 'browser/base/content/test/tabMediaIndicator/browser_mediaPlayback.js')
-rw-r--r-- | browser/base/content/test/tabMediaIndicator/browser_mediaPlayback.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/browser/base/content/test/tabMediaIndicator/browser_mediaPlayback.js b/browser/base/content/test/tabMediaIndicator/browser_mediaPlayback.js new file mode 100644 index 0000000000..923ddc6296 --- /dev/null +++ b/browser/base/content/test/tabMediaIndicator/browser_mediaPlayback.js @@ -0,0 +1,42 @@ +const PAGE = GetTestWebBasedURL("file_mediaPlayback.html"); +const FRAME = GetTestWebBasedURL("file_mediaPlaybackFrame.html"); + +function wait_for_event(browser, event) { + return BrowserTestUtils.waitForEvent(browser, event, false, e => { + is( + e.originalTarget, + browser, + "Event must be dispatched to correct browser." + ); + ok(!e.cancelable, "The event should not be cancelable"); + return true; + }); +} + +async function test_on_browser(url, browser) { + info(`run test for ${url}`); + const startPromise = wait_for_event(browser, "DOMAudioPlaybackStarted"); + BrowserTestUtils.loadURI(browser, url); + await startPromise; + await wait_for_event(browser, "DOMAudioPlaybackStopped"); +} + +add_task(async function test_page() { + await BrowserTestUtils.withNewTab( + { + gBrowser, + url: "about:blank", + }, + test_on_browser.bind(undefined, PAGE) + ); +}); + +add_task(async function test_frame() { + await BrowserTestUtils.withNewTab( + { + gBrowser, + url: "about:blank", + }, + test_on_browser.bind(undefined, FRAME) + ); +}); |