<!DOCTYPE html>
<head>
<script src="../resources/js-test.js"></script>
<script src="resources/netinfo_common.js"></script>
</head>
<body>
<script>

description('Tests that unused listeners are collected.');

shouldBe('typeof window.internals.observeGC', '"function"',
'this test requires window.internals');

let callback = function(e) {
	testFailed("Should not get here.");
};

// Add a listener.
var callbackObserver;
// Do not pass the object directly to observeGC function. It may
// remain live on this function's stack preventing GC from collecting
// it. Accessing the object inside an inner function will prevent any
// unneeded references on this function's stack. (http://crbug.com/595672/)
(function() {
  callbackObserver = internals.observeGC(callback);
  connection.addEventListener('typechange', callback);
})();

gc();
shouldBeFalse('callbackObserver.wasCollected');

// Remove the listener and its callback reference.
// Access objects in an inner function to avoid references to objects
// remaining live on this function's stack frame (http://crbug.com/595672/).
(() => {connection.removeEventListener('typechange', callback);})();
callback = null;
gc();
shouldBeTrue('callbackObserver.wasCollected');
finishJSTest();

</script>
</body>
</html>
