OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>Test behaviour of autoplay muted videos with regards to visibility</title
> | 2 <title>Test behaviour of autoplay muted videos with regards to visibility</title
> |
3 <script src="../resources/testharness.js"></script> | 3 <script src="../resources/testharness.js"></script> |
4 <script src="../resources/testharnessreport.js"></script> | 4 <script src="../resources/testharnessreport.js"></script> |
5 <script src="media-file.js"></script> | 5 <script src="media-file.js"></script> |
6 <body> | 6 <body> |
7 <script> | 7 <script> |
8 window.internals.settings.setMediaPlaybackRequiresUserGesture(true); | 8 window.internals.settings.setAutoplayPolicy('user-gesture-required'); |
9 window.internals.runtimeFlags.autoplayMutedVideosEnabled = true; | 9 window.internals.runtimeFlags.autoplayMutedVideosEnabled = true; |
10 | 10 |
11 async_test(function(t) { | 11 async_test(function(t) { |
12 // Create a video off screen. | 12 // Create a video off screen. |
13 { | 13 { |
14 var video = document.createElement('video'); | 14 var video = document.createElement('video'); |
15 video.id = 'offscreen'; | 15 video.id = 'offscreen'; |
16 video.src = findMediaFile('video', 'content/test'); | 16 video.src = findMediaFile('video', 'content/test'); |
17 video.muted = true; | 17 video.muted = true; |
18 video.autoplay = true; | 18 video.autoplay = true; |
19 video.loop = true; | 19 video.loop = true; |
20 video.style.position = 'absolute'; | 20 video.style.position = 'absolute'; |
21 video.style.top = '-10000px'; | 21 video.style.top = '-10000px'; |
22 document.body.appendChild(video); | 22 document.body.appendChild(video); |
23 } | 23 } |
24 | 24 |
25 var offscreen = document.querySelector('#offscreen'); | 25 var offscreen = document.querySelector('#offscreen'); |
26 | 26 |
27 offscreen.addEventListener('canplay', t.step_func_done(function() { | 27 offscreen.addEventListener('canplay', t.step_func_done(function() { |
28 // The offscreen videos shouldn't play. | 28 // The offscreen videos shouldn't play. |
29 assert_true(offscreen.paused); | 29 assert_true(offscreen.paused); |
30 assert_greater_than_equal(offscreen.readyState, HTMLMediaElement.HAVE_ENOU
GH_DATA); | 30 assert_greater_than_equal(offscreen.readyState, HTMLMediaElement.HAVE_ENOU
GH_DATA); |
31 })); | 31 })); |
32 }, "Test that muted video with an autoplay attribute does not leak if it's nev
er visible"); | 32 }, "Test that muted video with an autoplay attribute does not leak if it's nev
er visible"); |
33 </script> | 33 </script> |
34 </body> | 34 </body> |
OLD | NEW |