Index: third_party/WebKit/LayoutTests/fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html |
diff --git a/third_party/WebKit/LayoutTests/fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html b/third_party/WebKit/LayoutTests/fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html |
index aae0b63bbc6978383f87ee1f922651ab47ceb6a1..3028a3d04ea27bcdd77c86c6fe3db6e577b370b5 100644 |
--- a/third_party/WebKit/LayoutTests/fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html |
+++ b/third_party/WebKit/LayoutTests/fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html |
@@ -18,9 +18,17 @@ |
function test(type) |
{ |
- var result = document.evaluate("//div", document.documentElement, null, type, null); |
- result.snapshotItem(0).foo = "PASS"; |
- document.body.removeChild(result.snapshotItem(0)); |
+ var result; |
+ function initialize() { |
+ result = document.evaluate("//div", document.documentElement, null, type, null); |
+ result.snapshotItem(0).foo = "PASS"; |
+ document.body.removeChild(result.snapshotItem(0)); |
+ } |
+ |
+ // Do initialization work in an inner function to avoid references |
+ // to objects remaining live on this function's stack frame |
+ // (http://crbug.com/595672/). |
+ initialize(); |
gc(); |
var console = document.getElementById("console"); |
console.appendChild(document.createTextNode(result.snapshotItem(0).foo)); |