Index: LayoutTests/fast/dom/NodeIterator/NodeIterator-gc-without-context-crash.html |
diff --git a/LayoutTests/fast/dom/NodeIterator/NodeIterator-dont-overcollect.html b/LayoutTests/fast/dom/NodeIterator/NodeIterator-gc-without-context-crash.html |
similarity index 66% |
copy from LayoutTests/fast/dom/NodeIterator/NodeIterator-dont-overcollect.html |
copy to LayoutTests/fast/dom/NodeIterator/NodeIterator-gc-without-context-crash.html |
index c3a1cb82aecb20f75abd700a5d5530ddb209cd1e..c5d07bb9af2f2f4fc40beb1ad174919192f012dd 100644 |
--- a/LayoutTests/fast/dom/NodeIterator/NodeIterator-dont-overcollect.html |
+++ b/LayoutTests/fast/dom/NodeIterator/NodeIterator-gc-without-context-crash.html |
@@ -3,6 +3,8 @@ |
<body> |
<script src="../../js/resources/js-test-pre.js"></script> |
<script> |
+ jsTestIsAsync = true; |
+ |
var callbackWasTriggered = false; |
var callback = function(node) { |
@@ -24,10 +26,17 @@ |
shouldBeTrue('callbackWasTriggered'); |
nodeIterator = null; |
- gc(); |
- shouldBeTrue('nodeIteratorObservation.wasCollected'); |
- shouldBeTrue('nodeFilterObservation.wasCollected'); |
- shouldBeTrue('callbackObservation.wasCollected'); |
+ |
+ testRunner.evaluateScriptInIsolatedWorld(1, 'document.getElementById("body")'); // create a wrapper in isolated world |
+ internals.garbageCollectV8WithoutContext(); |
+ |
+ setTimeout(function() { |
+ shouldBeTrue('nodeIteratorObservation.wasCollected'); |
+ shouldBeTrue('nodeFilterObservation.wasCollected'); |
+ shouldBeTrue('callbackObservation.wasCollected'); |
+ |
+ finishJSTest(); |
+ }, 0); |
</script> |
<script src="../../js/resources/js-test-post.js"></script> |
</body> |