<!DOCTYPE html>
<html>
<head>
<title>MessageEvent: onmessage infinite loop</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
'use strict';

// The test passes if the onmessage / postMessage loop does not prevent the
// step_timeout task from ever being run. In particular there should be no
// infinite loop or stack overflow.
async_test(function(t) {
  var channel = new MessageChannel();
  var count = 0;
  channel.port1.addEventListener("message", t.step_func(function() {
    count++;
    assert_less_than(count, 1000, "There were many message events without " +
                                  "t.step_timeout ever being called.");
  }));
  channel.port1.addEventListener("message", t.step_func(function() {
    channel.port2.postMessage(0);
  }));
  channel.port1.start();
  channel.port2.postMessage(0);

  t.step_timeout(function() { t.done(); }, 0);
}, "onmessage calling source postMessage");
</script>
