48 lines
1.5 KiB
HTML
48 lines
1.5 KiB
HTML
<!DOCTYPE html><!-- webkit-test-runner [ MainContentUserGestureOverrideEnabled=true ] -->
|
|
<html>
|
|
<body>
|
|
<p id="description">This tests removing a video element inside an iframe while another video in the main frame is playing does not hit a release assertion.</p>
|
|
<div id="result"></div>
|
|
<video id="video" autoplay width="500"></video>
|
|
<script src="media-file.js"></script>
|
|
<script>
|
|
|
|
if (window.testRunner) {
|
|
testRunner.waitUntilDone();
|
|
testRunner.dumpAsText();
|
|
}
|
|
|
|
let count = 0;
|
|
function continueTest() {
|
|
count++;
|
|
if (count < 2)
|
|
return;
|
|
setTimeout(() => {
|
|
iframe.remove();
|
|
result.textContent = 'PASS';
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}, 0);
|
|
}
|
|
|
|
if (window.internals) {
|
|
internals.setMediaElementRestrictions(video, "OverrideUserGestureRequirementForMainContent");
|
|
} else
|
|
description.innerHTML += '<br>This test requries OverrideUserGestureRequirementForMainContent. Manually set this setting or use WebKitTestRunner.';
|
|
|
|
const videoURL = findMediaFile("video", "content/test");
|
|
const iframe = document.createElement('iframe');
|
|
document.body.appendChild(iframe);
|
|
video.src = videoURL;
|
|
video.addEventListener('loadeddata', continueTest);
|
|
|
|
const doc = iframe.contentDocument;
|
|
doc.open();
|
|
doc.write(`<!DOCTYPE html><html><body>`);
|
|
doc.write(`<video autoplay src="${videoURL}"></video>`);
|
|
doc.write(`<script>document.querySelector('video').addEventListener('loadeddata', () => top.continueTest());</` + `script>`);
|
|
doc.close();
|
|
|
|
</script>
|
|
</body>
|
|
</html> |