| Index: LayoutTests/netinfo/gc-unused-listeners.html
|
| diff --git a/LayoutTests/netinfo/gc-unused-listeners.html b/LayoutTests/netinfo/gc-unused-listeners.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..85ce3d14faa8803a2a9ea6ecc43a222a4c2514be
|
| --- /dev/null
|
| +++ b/LayoutTests/netinfo/gc-unused-listeners.html
|
| @@ -0,0 +1,33 @@
|
| +<!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');
|
| +
|
| +var callback = function(e) {
|
| + testFailed("Should not get here.");
|
| +};
|
| +
|
| +// Add a listener.
|
| +var callbackObserver = internals.observeGC(callback);
|
| +connection.addEventListener('typechange', callback);
|
| +gc();
|
| +shouldBeFalse('callbackObserver.wasCollected');
|
| +
|
| +// Remove the listener and its callback reference.
|
| +connection.removeEventListener('typechange', callback);
|
| +callback = null;
|
| +gc();
|
| +shouldBeTrue('callbackObserver.wasCollected');
|
| +finishJSTest();
|
| +
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|