| function loadVideo(activeDocument, sourceUrl) { |
| return new Promise((resolve, reject) => { |
| const document = activeDocument || window.document; |
| const video = document.createElement('video'); |
| video.src = sourceUrl || getVideoURI('/media/movie_5'); |
| video.onloadedmetadata = () => { resolve(video); }; |
| video.onerror = error => { reject(error); }; |
| }); |
| } |
| |
| // Calls requestPictureInPicture() in a context that's 'allowed to request PiP'. |
| async function requestPictureInPictureWithTrustedClick(videoElement) { |
| await test_driver.bless('request Picture-in-Picture'); |
| return videoElement.requestPictureInPicture(); |
| } |