112 lines
2.9 KiB
HTML
112 lines
2.9 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html>
|
|
<head>
|
|
<script src="media-file.js"></script>
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
<style>
|
|
.container {
|
|
width: 456px;
|
|
height: 50px;
|
|
margin: 4px;
|
|
padding: 2px;
|
|
box-sizing: border-box;
|
|
border: 1px solid gray;
|
|
position: relative;
|
|
z-index: 0;
|
|
}
|
|
|
|
audio {
|
|
display: block;
|
|
margin: 20px;
|
|
}
|
|
</style>
|
|
<script>
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
jsTestIsAsync = true;
|
|
|
|
function containsLayerWithSize(layersText, width, height)
|
|
{
|
|
var lines = layersText.split('\n');
|
|
|
|
var re = /\(bounds ([.\d]+) ([.\d]+)\)/;
|
|
|
|
for (var line of lines) {
|
|
var result;
|
|
if (result = re.exec(line)) {
|
|
if (parseFloat(result[1]) == width && parseFloat(result[2]) == height)
|
|
return true;
|
|
}
|
|
|
|
}
|
|
return false;
|
|
}
|
|
|
|
var mediaElementsToWaitFor = 2;
|
|
function setupVideos()
|
|
{
|
|
setSrcById('loaded-video', findMediaFile('video', 'content/test'));
|
|
|
|
var video = document.getElementById('loaded-video');
|
|
video.addEventListener("canplaythrough", function() {
|
|
checkForMediaLoaded(--mediaElementsToWaitFor);
|
|
});
|
|
video.load();
|
|
|
|
setSrcById('loaded-audio', findMediaFile('audio', 'content/test'));
|
|
var audio = document.getElementById('loaded-audio')
|
|
audio.addEventListener("canplaythrough", function() {
|
|
checkForMediaLoaded(--mediaElementsToWaitFor);
|
|
});
|
|
audio.load();
|
|
}
|
|
|
|
function checkForMediaLoaded(loadsRemaining)
|
|
{
|
|
if (loadsRemaining)
|
|
return;
|
|
|
|
testCompositedContainer();
|
|
}
|
|
|
|
var layers;
|
|
function testCompositedContainer()
|
|
{
|
|
if (!window.internals)
|
|
return;
|
|
|
|
description('Tests that media controls don\'t trigger compositing on an ancestor via isolatesBlending');
|
|
layers = internals.layerTreeAsText(document);
|
|
|
|
shouldBeFalse('containsLayerWithSize(layers, 456, 50)');
|
|
|
|
finishJSTest();
|
|
}
|
|
|
|
window.addEventListener('load', setupVideos, false);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
<div class="container">
|
|
<audio controls="controls"/>
|
|
</div>
|
|
|
|
<div class="container">
|
|
<video id="loaded-audio" controls="controls"/>
|
|
</div>
|
|
|
|
<div class="container">
|
|
<video src="" controls="controls"/>
|
|
</div>
|
|
|
|
<div class="container">
|
|
<video id="loaded-video" controls="controls"/>
|
|
</div>
|
|
|
|
<script src="../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|