blob: f39d8fc4753611382a3b2c8b81fd9b55576e4a9c [file] [log] [blame]
<!DOCTYPE html>
<title>media controls overlay play button document move</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../../resources/run-after-layout-and-paint.js"></script>
<script src="../media-controls.js"></script>
<script src="overlay-play-button.js"></script>
<body>
<script>
async_test(function(t) {
// Make sure the overlay play button is turned on, as it's typically off
// unless we're dealing with Android.
enableOverlayPlayButtonForTest(t);
var video = createAndMoveVideo();
video.onloadedmetadata = t.step_func(function() {
// Large-enough video should have an overlay play button.
assertOverlayPlayButtonVisible(video);
// If the width goes under the minimum, the button should be hidden.
video.width = NARROW_VIDEO_WIDTH;
runAfterLayoutAndPaint(t.step_func(function() {
assertOverlayPlayButtonNotVisible(video);
// Re-widening the video should display the button.
video.width = NORMAL_VIDEO_WIDTH;
runAfterLayoutAndPaint(t.step_func(function() {
assertOverlayPlayButtonVisible(video);
// If the height goes under the minimum, the button should be hidden.
video.height = NARROW_VIDEO_HEIGHT;
runAfterLayoutAndPaint(t.step_func(function() {
assertOverlayPlayButtonNotVisible(video);
// Re-heightening the video should display the button.
video.height = NORMAL_VIDEO_HEIGHT;
runAfterLayoutAndPaint(t.step_func_done(function() {
assertOverlayPlayButtonVisible(video);
}));
}));
}));
}));
});
function createAndMoveVideo() {
var doc = document.implementation.createHTMLDocument();
var v = doc.createElement('video');
v.src = '../content/test.ogv';
v.width = NORMAL_VIDEO_WIDTH;
v.height = NORMAL_VIDEO_HEIGHT;
v.controls = true;
doc.body.appendChild(v);
doc.body.removeChild(v);
document.body.appendChild(v);
return v;
}
});
</script>
</body>