<!doctype html><!-- webkit-test-runner [ dumpJSConsoleLogInStdErr=true ] -->
<html>
<script src="../../../../resources/js-test-pre.js"></script>
<body>
    <iframe id="none" src="http://localhost:8000/media/media-stream/resources/get-display-media-devices-iframe.html"></iframe>
    <iframe id="camera" allow="camera" src="http://localhost:8000/media/media-stream/resources/get-display-media-devices-iframe.html"></iframe>
    <iframe id="microphone" allow="microphone" src="http://localhost:8000/media/media-stream/resources/get-display-media-devices-iframe.html"></iframe>
    <iframe id="display" allow="display-capture" src="http://localhost:8000/media/media-stream/resources/get-display-media-devices-iframe.html"></iframe>

    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
            testRunner.setUserMediaPermission(true);
        }
        if (window.internals)
            window.internals.settings.setScreenCaptureEnabled(true);

        let results = [];
        let writeResults = () => {
            result.innerHTML = '<br>' + results.sort().join('<br>');
        }

        handle = setTimeout(() => {
            testFailed('Timeout: not all frames loaded correctly.');
            writeResults();
            if (window.testRunner)
                testRunner.notifyDone();
        }, 4000);

        let expected = {
            'none' : 'deny',
            'camera' : 'deny',
            'microphone' : 'deny',
            'display' : 'allow',
        };
        let success = true;
        window.addEventListener("message", (event) => {
            let message = event.data.trim().split(':');
            let iframe = document.getElementById(message[0]);
            let allow = `'${iframe.allow || ""}'`;
            let success = expected[message[0]] == message[1];
            results.push(`${success ? "PASS" : "FAIL"}: &LT;iframe allow=${allow}> got "${message[1]}"${success ? "" : ", should have ${expected[message[0]]}"}`);
            if (results.length == 4) {
                clearTimeout(handle);
                writeResults();
                if (window.testRunner)
                    testRunner.notifyDone();
            }
            
        }, false);

        let trigerTest = (evt) => { evt.target.contentWindow.postMessage(evt.target.id, '*'); }
        Array.from(document.getElementsByTagName('iframe')).forEach(element => element.onload = trigerTest);
    </script>

    <div id="result"></div>
</body>
</html>
