Bug 1477415 - part2 : add test.
MozReview-Commit-ID: 9Besbb3JWRP
--- a/toolkit/content/tests/browser/browser.ini
+++ b/toolkit/content/tests/browser/browser.ini
@@ -45,16 +45,17 @@ support-files =
[browser_autoplay_policy_request_permission.js]
support-files =
file_empty.html
gizmo.mp4
[browser_autoplay_policy_user_gestures.js]
support-files =
gizmo.mp4
file_video.html
+[browser_autoplay_videoDocument.js]
[browser_autoscroll_disabled.js]
[browser_block_autoplay_media.js]
tags = audiochannel
[browser_block_autoplay_media_pausedAfterPlay.js]
tags = audiochannel
[browser_block_autoplay_playAfterTabVisible.js]
tags = audiochannel
[browser_block_multipleMedia.js]
new file mode 100644
--- /dev/null
+++ b/toolkit/content/tests/browser/browser_autoplay_videoDocument.js
@@ -0,0 +1,33 @@
+"use strict";
+
+const PAGE = "https://example.com/browser/toolkit/content/tests/browser/audio.ogg";
+
+function setup_test_preference() {
+ return SpecialPowers.pushPrefEnv({"set": [
+ ["media.autoplay.default", SpecialPowers.Ci.nsIAutoplay.PROMPT],
+ ["media.autoplay.enabled.user-gestures-needed", true],
+ ["media.autoplay.ask-permission", true],
+ ]});
+}
+
+function checkIsVideoDocumentAutoplay(browser) {
+ return ContentTask.spawn(browser, null, async () => {
+ let video = content.document.getElementsByTagName("video")[0];
+ let played = video && await video.play().then(() => true, () => false);
+ ok(played, "Should be able to play in video document.");
+ });
+}
+
+add_task(async () => {
+ await BrowserTestUtils.withNewTab({
+ gBrowser,
+ url: PAGE,
+ }, async (browser) => {
+ info("- setup test preference -");
+ await setup_test_preference();
+
+ info(`- check whether video document is autoplay -`);
+ await checkIsVideoDocumentAutoplay(browser);
+ });
+});
+