| <!DOCTYPE html> |
| <title>Test mediastream video in Picture-in-Picture</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="resources/picture-in-picture-helpers.js"></script> |
| <body></body> |
| <script> |
| promise_test(async t => { |
| const canvas = document.createElement('canvas'); |
| const video = document.createElement('video'); |
| canvas.getContext('2d').fillRect(0, 0, canvas.width, canvas.height); |
| video.muted = true; |
| video.srcObject = canvas.captureStream(60 /* fps */); |
| await video.play(); |
| |
| return requestPictureInPictureWithTrustedClick(video) |
| .then(pipWindow => { |
| assert_not_equals(pipWindow.width, 0); |
| assert_not_equals(pipWindow.height, 0); |
| }); |
| }, 'request Picture-in-Picture resolves on user click with Picture-in-Picture window'); |
| </script> |