diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
commit | d8bbc7858622b6d9c278469aab701ca0b609cddf (patch) | |
tree | eff41dc61d9f714852212739e6b3738b82a2af87 /testing/web-platform/tests/mediacapture-streams/BrowserCaptureMediaStreamTrack-cropTo.https.html | |
parent | Releasing progress-linux version 125.0.3-1~progress7.99u1. (diff) | |
download | firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip |
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/mediacapture-streams/BrowserCaptureMediaStreamTrack-cropTo.https.html')
-rw-r--r-- | testing/web-platform/tests/mediacapture-streams/BrowserCaptureMediaStreamTrack-cropTo.https.html | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/testing/web-platform/tests/mediacapture-streams/BrowserCaptureMediaStreamTrack-cropTo.https.html b/testing/web-platform/tests/mediacapture-streams/BrowserCaptureMediaStreamTrack-cropTo.https.html new file mode 100644 index 0000000000..f84029433f --- /dev/null +++ b/testing/web-platform/tests/mediacapture-streams/BrowserCaptureMediaStreamTrack-cropTo.https.html @@ -0,0 +1,66 @@ +<!doctype html> +<html> + +<head> + <title>BrowserCaptureMediaStreamTrack cropTo()</title> + <link rel="help" href="https://github.com/w3c/mediacapture-region/"> + <meta charset="utf-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> +</head> + +<body> + <p class="instructions"> + When prompted, accept to give permission to use your audio, video devices. + </p> + <h1 class="instructions">Description</h1> + <p class="instructions"> + This test checks that BrowserCaptureMediaStreamTrack cropping works as + expected. + </p> + + <button id="button">Start test</button> + <div id='test-div' width="500px" height="600px"></div> + + <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 src=permission-helper.js></script> + + <script> + "use strict"; + + async function getDisplayMedia() { + const p = new Promise(r => button.onclick = r); + await test_driver.click(button); + await p; + return navigator.mediaDevices.getDisplayMedia( + {video:{displaySurface:"browser"}, selfBrowserSurface:"include"}); + } + + promise_test(async t => { + const stream = await getDisplayMedia(); + assert_true(stream.active, "stream should be active."); + + assert_equals(stream.getVideoTracks().length, 1); + const [videoTrack] = stream.getVideoTracks(); + assert_true(videoTrack instanceof MediaStreamTrack, + "track should be either MediaStreamTrack or a subclass thereof."); + assert_equals(videoTrack.readyState, "live"); + + const div = document.getElementById('test-div'); + const cropTarget = await CropTarget.fromElement(div); + assert_true(!!videoTrack.cropTo, "cropTo exposed."); + assert_true(typeof videoTrack.cropTo === 'function', + "cropTo is a function."); + await videoTrack.cropTo(cropTarget); + + assert_true(stream.active, "stream should be active."); + assert_false(videoTrack.muted, "track should not be muted."); + }, "Tests that cropping MediaStreamTrack objects works as expected"); + + </script> +</body> + +</html> |