<html>
<head>
  <title>perf-commit-sk demo</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <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/webcomponentsjs/webcomponents-lite.js"></script>
  <link rel=import href="/res/imp/bower_components/polymer/polymer.html">
  <link rel=import href="commit.html">
  <style type="text/css" media="screen">
    body {
      font-family:Helvetica,Arial,'Bitstream Vera Sans',sans-serif;
    }

    a {
      color: #FF7F00;
      font-weight: bold;
    }
  </style>
</head>
<body>
  <h1>Commits</h1>

  <h2>Working with a good commit hash.</h2>
  <perf-commit-sk id=good cid=bb886749feb444edfd8fbf053a9ea815e3605f8a source=master></perf-commit-sk>
  <perf-commit-sk id=trybot cid="1" source="https://codereview.chromium.org/1490543002"></perf-commit-sk>
  <perf-commit-sk cid="20001" source="https://codereview.chromium.org/1490543002"></perf-commit-sk>

  <h2>Bad commit hash</h2>
  <perf-commit-sk hash="some unknown git hash" source=master></perf-commit-sk>

  <h2>The asString() value.</h2>
  <div id=text></div>
  <div id=trybottext></div>

  <script type="text/javascript" charset="utf-8">
    var commitinfo = [
      {
        ts: 1439649751,
        author: "reed (reed@chromium.org)",
        id: "bb886749feb444edfd8fbf053a9ea815e3605f8a",
        source: "master",
        desc: "A description",
      },
      {
        ts: 1439649951,
        author: "foo (foo@example.org)",
        id: "1",
        source: "https://codereview.chromium.org/1490543002",
        desc: "whitespace change",
      },
      {
        ts: 1439699951,
        author: "foo (foo@example.org)",
        id: "20001",
        source: "https://codereview.chromium.org/1490543002",
        desc: "whitespace change",
      },
    ]
    sk.Mailbox.send("commits", commitinfo);
    $$$('#text').textContent = $$$('#good').asString();
    $$$('#trybottext').textContent = $$$('#trybot').asString();
  </script>
</body>
</html>
