Files
sousa-gecko/testing/web-platform/tests/screen-capture/getdisplaymedia-restrictOwnAudio.https.html
T
Olga Sharonova 9d9696c0f5 Bug 1979878 [wpt PR 54028] - [getDisplayMedia] Add WPT for restrictOwnAudio, a=testonly
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
2025-08-02 18:30:38 +00:00

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>