OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>Event handlers processing algorithm</title> | 2 <title>Event handlers processing algorithm</title> |
3 <script src="/resources/testharness.js"></script> | 3 <script src="/resources/testharness.js"></script> |
4 <script src="/resources/testharnessreport.js"></script> | 4 <script src="/resources/testharnessreport.js"></script> |
5 <body> | 5 <body> |
6 <div id="foo" style="width: 100px; height: 100px; background-color: black"></di
v> | 6 <div id="foo" style="width: 100px; height: 100px; background-color: black"></di
v> |
7 <script> | 7 <script> |
8 async_test(function(t) { | 8 async_test(function(t) { |
9 var ev = new Event('mouseover', {cancelable: true}); | 9 var ev = new Event('mouseover', {cancelable: true}); |
10 document.getElementById("foo").onmouseover = t.step_func(function() { retur
n true }); | 10 document.getElementById("foo").onmouseover = t.step_func(function() { retur
n true }); |
11 document.getElementById("foo").dispatchEvent(ev); | 11 document.getElementById("foo").dispatchEvent(ev); |
12 assert_equals(ev.defaultPrevented, true) | 12 assert_equals(ev.defaultPrevented, true) |
13 t.done(); | 13 t.done(); |
14 }, "mouseover listener returning true cancels event"); | 14 }, "mouseover listener returning true cancels event"); |
15 | 15 |
16 async_test(function(t) { | 16 async_test(function(t) { |
17 var ev = new Event('mouseover', {cancelable: true}); | 17 var ev = new Event('mouseover', {cancelable: true}); |
18 document.getElementById("foo").onmouseover = t.step_func(function() { retur
n false; }); | 18 document.getElementById("foo").onmouseover = t.step_func(function() { retur
n false; }); |
19 document.getElementById("foo").dispatchEvent(ev); | 19 document.getElementById("foo").dispatchEvent(ev); |
20 assert_equals(ev.defaultPrevented, false); | 20 assert_equals(ev.defaultPrevented, false); |
21 t.done(); | 21 t.done(); |
22 }, "mouseover listener returning false doesn't cancel event"); | 22 }, "mouseover listener returning false doesn't cancel event"); |
23 | 23 |
24 async_test(function(t) { | 24 // beforeunload is tested in html/browsers/browsing-the-web/unloading-documents
/beforeunload-canceling.html |
25 var ev = new Event('beforeunload', {cancelable: true}); | |
26 window.onbeforeunload = t.step_func(function() {return null}); | |
27 window.dispatchEvent(ev); | |
28 assert_equals(ev.defaultPrevented, true); | |
29 t.done(); | |
30 }, "beforeunload listener returning null cancels event"); | |
31 | |
32 async_test(function(t) { | |
33 var ev = new Event('beforeunload', {cancelable: true}); | |
34 window.onbeforeunload = t.step_func(function() {return true}); | |
35 window.dispatchEvent(ev); | |
36 assert_equals(ev.defaultPrevented, false); | |
37 t.done(); | |
38 }, "beforeunload listener returning non-null doesn't cancel event"); | |
39 | 25 |
40 async_test(function(t) { | 26 async_test(function(t) { |
41 var ev = new Event("click", {cancelable: true}); | 27 var ev = new Event("click", {cancelable: true}); |
42 document.getElementById("foo").onclick = t.step_func(function() { return fa
lse; }); | 28 document.getElementById("foo").onclick = t.step_func(function() { return fa
lse; }); |
43 document.getElementById("foo").dispatchEvent(ev); | 29 document.getElementById("foo").dispatchEvent(ev); |
44 assert_equals(ev.defaultPrevented, true); | 30 assert_equals(ev.defaultPrevented, true); |
45 t.done(); | 31 t.done(); |
46 }, "click listener returning false cancels event"); | 32 }, "click listener returning false cancels event"); |
47 | 33 |
48 async_test(function(t) { | 34 async_test(function(t) { |
49 var ev = new Event("blur", {cancelable: true}); | 35 var ev = new Event("blur", {cancelable: true}); |
50 document.getElementById("foo").onblur = t.step_func(function() { return fal
se; }); | 36 document.getElementById("foo").onblur = t.step_func(function() { return fal
se; }); |
51 document.getElementById("foo").dispatchEvent(ev); | 37 document.getElementById("foo").dispatchEvent(ev); |
52 assert_equals(ev.defaultPrevented, true); | 38 assert_equals(ev.defaultPrevented, true); |
53 t.done(); | 39 t.done(); |
54 }, "blur listener returning false cancels event"); | 40 }, "blur listener returning false cancels event"); |
55 | 41 |
56 async_test(function(t) { | 42 async_test(function(t) { |
57 var ev = new Event("dblclick", {cancelable: true}); | 43 var ev = new Event("dblclick", {cancelable: true}); |
58 document.getElementById("foo").ondblclick = t.step_func(function() { return
false; }); | 44 document.getElementById("foo").ondblclick = t.step_func(function() { return
false; }); |
59 document.getElementById("foo").dispatchEvent(ev); | 45 document.getElementById("foo").dispatchEvent(ev); |
60 assert_equals(ev.defaultPrevented, true); | 46 assert_equals(ev.defaultPrevented, true); |
61 t.done(); | 47 t.done(); |
62 }, "dblclick listener returning false cancels event"); | 48 }, "dblclick listener returning false cancels event"); |
63 </script> | 49 </script> |
OLD | NEW |