| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../http/tests/inspector/resources/inspector-test.js"></script> |
| <script> |
| |
| if (window.internals) |
| window.internals.setMockMediaCaptureDevicesEnabled(false); |
| |
| function requestGetUserMedia() { |
| navigator.mediaDevices.getUserMedia({audio: {}, video: {}}) |
| .then(() => TestPage.dispatchEventToFrontend("GetUserMedia", {success: true})) |
| .catch((error) => TestPage.dispatchEventToFrontend("GetUserMedia", {error: error.message})); |
| } |
| |
| function test() |
| { |
| let suite = InspectorTest.createAsyncSuite("Page.overrideSetting"); |
| |
| suite.addTestCase({ |
| name: "Page.overrideSetting.MockCaptureDevicesEnabled", |
| description: "Test that changing whether mock capture devices are enabled has an effect.", |
| async test() { |
| let [defaultResult] = await Promise.all([ |
| InspectorTest.awaitEvent("GetUserMedia"), |
| InspectorTest.evaluateInPage(`requestGetUserMedia()`), |
| ]); |
| InspectorTest.log("Expected Error: " + defaultResult.data.error); |
| |
| InspectorTest.log("Overriding MockCaptureDevicesEnabled to true..."); |
| await PageAgent.overrideSetting(InspectorBackend.Enum.Page.Setting.MockCaptureDevicesEnabled, true); |
| |
| let [overriddenResult] = await Promise.all([ |
| InspectorTest.awaitEvent("GetUserMedia"), |
| InspectorTest.evaluateInPage(`requestGetUserMedia()`), |
| ]) |
| InspectorTest.expectTrue(overriddenResult.data.success, "getUserMedia should not fail when no devices are available"); |
| |
| InspectorTest.log("Removing MockCaptureDevicesEnabled override..."); |
| await PageAgent.overrideSetting(InspectorBackend.Enum.Page.Setting.MockCaptureDevicesEnabled); |
| |
| let [originalResult] = await Promise.all([ |
| InspectorTest.awaitEvent("GetUserMedia"), |
| InspectorTest.evaluateInPage(`requestGetUserMedia()`), |
| ]) |
| InspectorTest.log("Expected Error: " + originalResult.data.error); |
| }, |
| }); |
| |
| suite.runTestCasesAndFinish(); |
| } |
| |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests for the Page.overrideSetting command.</p> |
| </body> |
| </html> |