chromium/third_party/blink/web_tests/fast/events/message-channel-listener-circular-ownership.html

<body>
<p>Test that a leak is not created by assigning a MessagePort to a property of its own listener.</p>
<p>Only works with run_web_tests.py --leaks.</p>
<pre id=log></pre>
<script src="../../resources/gc.js"></script>
<script>

if (window.testRunner)
    testRunner.dumpAsText();

var channel = new MessageChannel;

channel.port1.onclose = function() {}

channel.port1.onclose.foo = channel;
channel.port1.onclose.bar = channel.port1;
channel.port1.onclose.baz = channel.port2;

channel = null;
gc();
</script>
</body>