<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'/>
    <title>Vibration API: cancel ongoing vibrate() with a new call to vibrate</title>
    <link rel='author' title='Robin Berjon' href='mailto:robin@berjon.com'/>
    <link rel='help' href='http://www.w3.org/TR/vibration/#methods'/>
    <meta name='flags' content='dom, interact'/>
    <meta name='assert' content='Cancel the pre-existing instance of the processing vibration patterns algorithm, if any.'/>
  </head>
  <body>
    <h1>Description</h1>
    <p>
      After hitting the button below, your device must vibrate continuously for a short period of time (roughly one
      second), then vibrate a series of short bursts. If the initial continuously vibration is longer (roughly five
      seconds, it should feel somewhat long) or if there is no series of short vibration bursts then the test has
      failed.
    </p>
    <button id='vib'>Vibrate!</button>
    <script src='/common/vendor-prefix.js' data-prefixed-objects='[{"ancestors":["navigator"], "name":"vibrate"}]'></script>
    <script>
      if (undefined !== navigator.vibrate) {
          document.getElementById("vib").onclick = function () {
              navigator.vibrate(5000);
              setTimeout(function () {
                  navigator.vibrate([200, 200, 200, 200, 200, 200, 200, 200, 200]);
              }, 1000);
          };
      }
    </script>
  </body>
</html>
