<!DOCTYPE html> <meta charset=utf-8> <body> <script src="/resources/testharness.js" type="text/javascript{{GET[in-iframe]}}"></script> <script src="/resources/testharnessreport.js" type="text/javascript{{GET[in-iframe]}}"></script> <script src="/resources/testdriver.js"></script> <script src="/resources/testdriver-vendor.js"></script> <script src="/common/get-host-info.sub.js"></script> <script src="/permissions-policy/resources/permissions-policy.js"></script> <script> 'use strict'; async function getDisplayMedia(constraints) { await test_driver.bless('transient activation for getDisplayMedia()'); return navigator.mediaDevices.getDisplayMedia(constraints); } async function testGDM({audio, video}) { let stream; try { stream = await getDisplayMedia({audio, video}); if (stream.getVideoTracks().length == 0) { throw Error(`requested video track must be present with ` + `audio ${audio} and video ${video}, or fail`); } } finally { if (stream) { stream.getTracks().forEach(track => track.stop()); } } } if (page_loaded_in_iframe()) { test_driver.set_test_context(window.parent); } const cross_domain = get_host_info().HTTPS_REMOTE_ORIGIN; run_all_fp_tests_allow_self( cross_domain, 'display-capture', 'NotAllowedError', async () => { await testGDM({audio: true}); } ); </script> </body>