picture-in-picture-helpers.js (633B)
1 function loadVideo(activeDocument, sourceUrl) { 2 return new Promise((resolve, reject) => { 3 const document = activeDocument || window.document; 4 const video = document.createElement('video'); 5 video.src = sourceUrl || getVideoURI('/media/movie_5'); 6 video.onloadedmetadata = () => { resolve(video); }; 7 video.onerror = error => { reject(error); }; 8 }); 9 } 10 11 // Calls requestPictureInPicture() in a context that's 'allowed to request PiP'. 12 async function requestPictureInPictureWithTrustedClick(videoElement) { 13 await test_driver.bless('request Picture-in-Picture'); 14 return videoElement.requestPictureInPicture(); 15 }