<!DOCTYPE html>
<html>
<body>
  <script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

window.addEventListener("message", (event) => {
    if (event.data === "getUserMedia done") {
        check.innerHTML = "<iframe src='resources/check-ice-candidate-filtering.html'></iframe>";
        return;
    }
    check.innerHTML = "";
    result.innerHTML = event.data === "filtering disabled" ? "PASS" : "FAIL";
    if (window.testRunner)
        testRunner.notifyDone();
}, false);

  </script>
  <div id="result"></div>
  <div id="check">
    <iframe id="frame" src="resources/do-get-user-media.html"></iframe>
  </div>
</body>
</html>
