OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../js/resources/js-test-pre.js"></script> | 2 <script src="../../resources/js-test.js"></script> |
3 <script> | 3 <script> |
4 | 4 |
5 description('Tests that lookup in inline event handlers keeps references alive')
; | 5 description('Tests that lookup in inline event handlers keeps references alive')
; |
6 | 6 |
7 function dispatchClick(element) | 7 function dispatchClick(element) |
8 { | 8 { |
9 var clickEvent = document.createEvent('MouseEvent'); | 9 var clickEvent = document.createEvent('MouseEvent'); |
10 clickEvent.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0,false,
false, false, false, 0, null); | 10 clickEvent.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0,false,
false, false, false, 0, null); |
11 element.dispatchEvent(clickEvent); | 11 element.dispatchEvent(clickEvent); |
12 } | 12 } |
13 | 13 |
14 var result; | 14 var result; |
15 var custom = 'FAIL'; | 15 var custom = 'FAIL'; |
16 | 16 |
17 var div1 = document.createElement('div'); | 17 var div1 = document.createElement('div'); |
18 div1.custom = 'PASS'; | 18 div1.custom = 'PASS'; |
19 div1.setAttribute('onclick', 'result = custom'); | 19 div1.setAttribute('onclick', 'result = custom'); |
20 | 20 |
21 var div2 = document.createElement('div'); | 21 var div2 = document.createElement('div'); |
22 div2.onclick = div1.onclick; | 22 div2.onclick = div1.onclick; |
23 | 23 |
24 div1 = null; | 24 div1 = null; |
25 gc(); | 25 gc(); |
26 | 26 |
27 dispatchClick(div2); | 27 dispatchClick(div2); |
28 shouldBeEqualToString('result', 'PASS'); | 28 shouldBeEqualToString('result', 'PASS'); |
29 | 29 |
30 </script> | 30 </script> |
OLD | NEW |