blob: cd7046073b3a3f0e8c2b96ec99ce255dcf67bb64 [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>getDisplayMedia and size</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="resources/getDisplayMedia-utils.js"></script>
</head>
<body>
<video id="video1" autoplay></video>
<video id="video2" autoplay></video>
<script>
promise_test(async () => {
const stream1 = await callGetDisplayMedia({ video: { width: 640, height:480 } });
video1.srcObject = stream1;
await video1.play();
assert_equals(video1.videoWidth, 640);
const stream2 = stream1.clone();
await stream2.getVideoTracks()[0].applyConstraints({ width: 320, height: 240 });
video2.srcObject = stream2;
await video2.play();
assert_equals(video2.videoWidth, 320);
video1.srcObject = null;
video1.srcObject = stream1;
await video1.play();
test(() => {
assert_equals(video1.videoWidth, 640);
}, "original source should stay at a small size");
}, "Ensure getDisplayMedia size can be reduced with applyConstraints");
promise_test(async () => {
const stream1 = await callGetDisplayMedia({ video: { width: 640, height:480 } });
video1.srcObject = stream1;
await video1.play();
assert_equals(video1.videoWidth, 640);
const stream2 = stream1.clone();
await stream2.getVideoTracks()[0].applyConstraints({ width: 1280, height: 960 });
video2.srcObject = stream2;
await video2.play();
assert_equals(video2.videoWidth, 1280);
video1.srcObject = null;
video1.srcObject = stream1;
await video1.play();
test(() => {
assert_equals(video1.videoWidth, 640);
}, "original source should stay at a big size");
}, "Ensure getDisplayMedia size can be increased with applyConstraints");
</script>
</body>
</html>