<html>
<head>
  <title>query-chooser-sk demo</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
  <script src="/res/common/js/common.js"></script>
  <script src="/res/imp/bower_components/wcstamp/src/stamp.js"></script>
  <script type="text/javascript" charset="utf-8">
    // Mock out sk.get() to return random numbers for matches.
    sk.get = function(url) {
      return new Promise(function (resolve, reject) {
        var n = Math.floor(Math.random() * 100);
        resolve('{"matches":' + n + '}');
        });
    };
  </script>
  <script src="/res/imp/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
  <link rel=import href="/res/imp/bower_components/polymer/polymer.html">
  <link rel=import href="query-chooser.html">
</head>
<body>
  <h1>Query Chooser</h1>

  <query-chooser-sk id=chooser whitelist='["config", "type", "test"]'></query-chooser-sk>

  <script type="text/javascript" charset="utf-8">
    var paramset = {
        "config": ["565", "8888"],
        "type": ["CPU", "GPU"],
        "units": ["ms", "bytes"],
        "test": [
          "DeferredSurfaceCopy_discardable",
          "DeferredSurfaceCopy_nonDiscardable",
          "GLInstancedArraysBench_instance",
          "GLInstancedArraysBench_one_0",
          "GLInstancedArraysBench_one_1",
          "GLInstancedArraysBench_one_2",
          "GLInstancedArraysBench_one_4",
          "GLInstancedArraysBench_one_8",
          "GLInstancedArraysBench_two_0",
          "GLInstancedArraysBench_two_1",
          "GLInstancedArraysBench_two_2",
          "GLInstancedArraysBench_two_4",
          "GLInstancedArraysBench_two_8",
          "GLVec4ScalarBench_scalar_1_stage",
          "GLVec4ScalarBench_scalar_2_stage",
                                    ],
      };
    $$$('#chooser').query.setParamSet(paramset);
  </script>
</body>
</html>
