Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(784)

Side by Side Diff: LayoutTests/fast/dom/NodeIterator/NodeIterator-gc-without-context-crash.html

Issue 26792002: Reland: Reland: Implement new Blink IDL attribute [SetReference] (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: create/check wrapper on creationContext Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <body> 3 <body>
4 <script src="../../js/resources/js-test-pre.js"></script> 4 <script src="../../js/resources/js-test-pre.js"></script>
5 <script> 5 <script>
6 jsTestIsAsync = true;
7
6 var callbackWasTriggered = false; 8 var callbackWasTriggered = false;
7 9
8 var callback = function(node) { 10 var callback = function(node) {
9 callbackWasTriggered = true; 11 callbackWasTriggered = true;
10 return NodeFilter.FILTER_ACCEPT; 12 return NodeFilter.FILTER_ACCEPT;
11 }; 13 };
12 var nodeIterator = document.createNodeIterator(document, NodeFilter.SHOW_ELE MENT, callback, false); 14 var nodeIterator = document.createNodeIterator(document, NodeFilter.SHOW_ELE MENT, callback, false);
13 15
14 var callbackObservation = internals.observeGC(callback); 16 var callbackObservation = internals.observeGC(callback);
15 callback = null; 17 callback = null;
16 var nodeFilterObservation = internals.observeGC(nodeIterator.filter); 18 var nodeFilterObservation = internals.observeGC(nodeIterator.filter);
17 var nodeIteratorObservation = internals.observeGC(nodeIterator); 19 var nodeIteratorObservation = internals.observeGC(nodeIterator);
18 20
19 gc(); 21 gc();
20 shouldBeFalse('nodeFilterObservation.wasCollected'); 22 shouldBeFalse('nodeFilterObservation.wasCollected');
21 shouldBeFalse('callbackObservation.wasCollected'); 23 shouldBeFalse('callbackObservation.wasCollected');
22 24
23 nodeIterator.nextNode(); 25 nodeIterator.nextNode();
24 shouldBeTrue('callbackWasTriggered'); 26 shouldBeTrue('callbackWasTriggered');
25 27
26 nodeIterator = null; 28 nodeIterator = null;
27 gc(); 29
28 shouldBeTrue('nodeIteratorObservation.wasCollected'); 30 testRunner.evaluateScriptInIsolatedWorld(1, 'document.getElementById("body") '); // create a wrapper in isolated world
29 shouldBeTrue('nodeFilterObservation.wasCollected'); 31 internals.garbageCollectV8WithoutContext();
30 shouldBeTrue('callbackObservation.wasCollected'); 32
33 setTimeout(function() {
34 shouldBeTrue('nodeIteratorObservation.wasCollected');
35 shouldBeTrue('nodeFilterObservation.wasCollected');
36 shouldBeTrue('callbackObservation.wasCollected');
37
38 finishJSTest();
39 }, 0);
31 </script> 40 </script>
32 <script src="../../js/resources/js-test-post.js"></script> 41 <script src="../../js/resources/js-test-post.js"></script>
33 </body> 42 </body>
34 </html> 43 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698