Automatic update from web-platform-tests [getDisplayMedia] Add WPT for restrictOwnAudio Bug: 415952276 Change-Id: I2a720364e505314a470573308df37c3691800c6a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6793625 Commit-Queue: Olga Sharonova <olka@chromium.org> Reviewed-by: Guido Urdaneta <guidou@chromium.org> Auto-Submit: Olga Sharonova <olka@chromium.org> Cr-Commit-Position: refs/heads/main@{#1493386} -- wpt-commits: f4c8e848e6ccce755711622e4f66b53a1fad3dff wpt-pr: 54028
57 lines
1.9 KiB
HTML
57 lines
1.9 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>getDisplayMedia</title>
|
|
<meta name="timeout" content="long">
|
|
<button id="button">User gesture</button>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
<script>
|
|
'use strict';
|
|
|
|
const stopTracks = stream => stream.getTracks().forEach(track => track.stop());
|
|
|
|
async function getDisplayMedia(constraints) {
|
|
const p = new Promise(r => button.onclick = r);
|
|
await test_driver.click(button);
|
|
await p;
|
|
return navigator.mediaDevices.getDisplayMedia(constraints);
|
|
}
|
|
|
|
test(() => {
|
|
const supportedConstraints =
|
|
navigator.mediaDevices.getSupportedConstraints();
|
|
assert_true(supportedConstraints.restrictOwnAudio);
|
|
}, "restrictOwnAudio is supported");
|
|
|
|
{
|
|
const restrictOwnAudio = [true, false];
|
|
restrictOwnAudio.forEach((restrictOwnAudio) => {
|
|
promise_test(async (t) => {
|
|
const stream = await getDisplayMedia({
|
|
audio: { restrictOwnAudio },
|
|
});
|
|
t.add_cleanup(() => stopTracks(stream));
|
|
const [videoTrack] = stream.getVideoTracks();
|
|
assert_false("restrictOwnAudio" in videoTrack.getSettings());
|
|
const [audioTrack] = stream.getAudioTracks();
|
|
const audioTrackSettings = audioTrack.getSettings();
|
|
assert_true("restrictOwnAudio" in audioTrackSettings);
|
|
assert_equals(
|
|
audioTrackSettings.restrictOwnAudio,
|
|
restrictOwnAudio
|
|
);
|
|
await audioTrack.applyConstraints();
|
|
// Removing constraints does not change the restrictOwnAudio setting.
|
|
assert_true("restrictOwnAudio" in audioTrackSettings);
|
|
assert_equals(
|
|
audioTrackSettings.restrictOwnAudio,
|
|
restrictOwnAudio
|
|
);
|
|
}, `getDisplayMedia({"audio":{"restrictOwnAudio":${restrictOwnAudio}}}) with getSettings`);
|
|
});
|
|
}
|
|
|
|
</script>
|