35 lines
1.5 KiB
HTML
35 lines
1.5 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>video.videoWidth should be set when video.readyState reaches HAVE_METADATA</title>
|
|
<script src="../../resources/testharness.js"></script>
|
|
<script src="../../resources/testharnessreport.js"></script>
|
|
</head>
|
|
<body>
|
|
<video width=100 height=100></video>
|
|
|
|
<script>
|
|
let video;
|
|
promise_test((test) => {
|
|
if (window.testRunner)
|
|
testRunner.setUserMediaPermission(true);
|
|
if (!window.internals)
|
|
return Promise.reject("this test needs internals API");
|
|
|
|
return navigator.mediaDevices.getUserMedia({ audio: true, video: true }).then((stream) => {
|
|
window.internals.delayMediaStreamTrackSamples(stream.getAudioTracks()[0], .5);
|
|
window.internals.delayMediaStreamTrackSamples(stream.getVideoTracks()[0], .5);
|
|
|
|
video = document.getElementsByTagName("video")[0];
|
|
video.srcObject = stream;
|
|
})
|
|
.then(() => new Promise(resolve => video.onloadedmetadata = resolve))
|
|
.then(() => {
|
|
assert_not_equals(video.videoWidth, 0, "videoWidth is non-zero");
|
|
assert_not_equals(video.videoHeight, 0, "videoHeight is non-zero");
|
|
})
|
|
}, "videoWidth and videoHeight are set on 'loadedmetadata' event");
|
|
</script>
|
|
</body>
|
|
</html> |