<!-- Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/ -->
<!doctype html>

<html>
  <head>
    <meta charset="utf-8"/>
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>Network Monitor test page</title>
  </head>

  <body>
    <p>Filtering test</p>

    <script type="text/javascript">
      /* exported performRequests */
      "use strict";

      function get(address) {
        return new Promise(resolve => {
          const xhr = new XMLHttpRequest();
          // Use a random parameter to defeat caching.
          xhr.open("GET", address + "&" + Math.random(), true);

          xhr.onreadystatechange = function() {
            if (this.readyState == this.DONE) {
              resolve();
            }
          };
          xhr.send(null);
        });
      }

      async function performRequests(optionsText) {
        const options = JSON.parse(optionsText);

        await get("sjs_content-type-test-server.sjs?fmt=html&res=" + options.htmlContent);
        await get("sjs_content-type-test-server.sjs?fmt=css");
        await get("sjs_content-type-test-server.sjs?fmt=js");
        await get("sjs_content-type-test-server.sjs?fmt=xhtml");
        if (!options.getMedia) {
          return;
        }
        await get("sjs_content-type-test-server.sjs?fmt=font");
        await get("sjs_content-type-test-server.sjs?fmt=image");
        await get("sjs_content-type-test-server.sjs?fmt=audio");
        await get("sjs_content-type-test-server.sjs?fmt=video");
        if (!options.getFlash) {
          return;
        }
        await get("sjs_content-type-test-server.sjs?fmt=flash");
      }
    </script>
  </body>

</html>
