add_task(async function test_bug_1572798() { let tab = BrowserTestUtils.addTab(window.gBrowser, "about:blank"); BrowserTestUtils.startLoadingURIString( tab.linkedBrowser, "https://example.com/browser/toolkit/content/tests/browser/file_document_open_audio.html" ); await BrowserTestUtils.browserLoaded(tab.linkedBrowser); let windowLoaded = BrowserTestUtils.waitForNewWindow(); info("- clicking button to spawn a new window -"); await ContentTask.spawn(tab.linkedBrowser, null, function () { content.document.querySelector("button").click(); }); info("- waiting for the new window -"); let newWin = await windowLoaded; info("- checking that the new window plays the audio -"); let documentOpenedBrowser = newWin.gBrowser.selectedBrowser; await ContentTask.spawn(documentOpenedBrowser, null, async function () { try { await content.document.querySelector("audio").play(); ok(true, "Could play the audio"); } catch (e) { ok(false, "Rejected audio promise" + e); } }); info("- Cleaning up -"); await BrowserTestUtils.closeWindow(newWin); await BrowserTestUtils.removeTab(tab); });