| 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 |