From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- dom/media/test/browser/browser_partial.js | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 dom/media/test/browser/browser_partial.js (limited to 'dom/media/test/browser/browser_partial.js') diff --git a/dom/media/test/browser/browser_partial.js b/dom/media/test/browser/browser_partial.js new file mode 100644 index 0000000000..572287b392 --- /dev/null +++ b/dom/media/test/browser/browser_partial.js @@ -0,0 +1,56 @@ +async function test() { + waitForExplicitFinish(); + const target = + "https://example.com/browser/dom/media/test/browser/file_empty_page.html"; + + info("Loading download page..."); + + let tab = BrowserTestUtils.addTab(gBrowser, target); + + registerCleanupFunction(function () { + gBrowser.removeTab(tab); + window.restore(); + }); + + gBrowser.selectedTab = tab; + BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, target).then( + async () => { + info("Page loaded."); + let allDownloads = await Downloads.getList(Downloads.ALL); + let started = new Promise(resolve => { + // With no download modal, the download will begin on its own, so we need + // to wait to be notified by the downloads list when that happens. + let downloadView = { + onDownloadAdded(download) { + ok(true, "Download was started."); + download.cancel(); + allDownloads.removeView(this); + allDownloads.removeFinished(); + resolve(); + }, + }; + allDownloads.addView(downloadView); + }); + + let revoked = SpecialPowers.spawn( + tab.linkedBrowser, + [], + () => + new Promise(resolve => { + let link = content.document.createElement("a"); + link.href = "force_octet_stream.mp4"; + content.document.body.appendChild(link); + info("Clicking HTMLAnchorElement..."); + link.click(); + info("Clicked HTMLAnchorElement."); + resolve(); + }) + ); + + info("Waiting for async activities..."); + await Promise.all([revoked, started]); + ok(true, "Exiting test."); + finish(); + } + ); +} -- cgit v1.2.3