<html>
<head>
  <title>query2-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.post() to return random numbers for matches.
    sk.post= function(url) {
      return new Promise(function (resolve, reject) {
        var n = Math.floor(Math.random() * 100);
        resolve('{"count":' + 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="query2-chooser.html">
  <link rel=import href="query2-count.html">
</head>
<body>
  <h1>Query Chooser</h1>

  <query2-chooser-sk current_query="config=565" id=chooser></query2-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').paramset = paramset;
  </script>
</body>
</html>
