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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/pointerevents/pointer-handler-count.html

Issue 2916893003: Bookkeep the pointer event listeners added to page (Closed)
Patch Set: Created 3 years, 6 months 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
OLDNEW
(Empty)
1 <script src='../../../resources/testharness.js'></script>
2 <script src='../../../resources/testharnessreport.js'></script><script>
3
4 (function() {
5 var listener = function() { }
Navid Zolghadr 2017/06/01 16:26:13 Can you also add another scenario for testing all
eirage 2017/06/01 19:59:24 Done.
6
7 test(function() {
8
9 assert_equals(window.internals.pointerEventHandlerCount(document), 0);
10 document.addEventListener('pointerenter', listener, true);
11 assert_equals(window.internals.pointerEventHandlerCount(document), 1);
12 document.addEventListener('pointerout', listener, true);
13 assert_equals(window.internals.pointerEventHandlerCount(document), 2);
14 document.addEventListener('pointerenter', listener, false);
15 assert_equals(window.internals.pointerEventHandlerCount(document), 3);
16 document.addEventListener('pointerout', listener, false);
17 assert_equals(window.internals.pointerEventHandlerCount(document), 4);
18 document.removeEventListener('pointerenter', listener, true);
19 assert_equals(window.internals.pointerEventHandlerCount(document), 3);
20 document.removeEventListener('pointerout', listener, true);
21 assert_equals(window.internals.pointerEventHandlerCount(document), 2);
22
23 // Try removing the capturing listener again.
24 document.removeEventListener('pointerenter', listener, true);
25 assert_equals(window.internals.pointerEventHandlerCount(document), 2);
26 document.removeEventListener('pointerout', listener, true);
27 assert_equals(window.internals.pointerEventHandlerCount(document), 2);
28
29 document.removeEventListener('pointerenter', listener, false);
30 assert_equals(window.internals.pointerEventHandlerCount(document), 1);
31 document.removeEventListener('pointerout', listener, false);
32 assert_equals(window.internals.pointerEventHandlerCount(document), 0);
33
34 }, "Test 1: addEventListener/removeEventListener on the document");
35
36 })();
37
38 (function() {
39 test(function() {
40 assert_equals(window.internals.pointerEventHandlerCount(document), 0);
41 document.onpointerenter = function() { }
42 assert_equals(window.internals.pointerEventHandlerCount(document), 1);
43 document.onpointerenter = function() { }
44 assert_equals(window.internals.pointerEventHandlerCount(document), 1);
45 document.onpointerenter = null;
46 assert_equals(window.internals.pointerEventHandlerCount(document), 0);
47 }, "Test 2: setting onpointerenter on the document");
48 })();
49
50 (function() {
51 var listener = function() { }
52
53 test(function() {
54 assert_equals(window.internals.pointerEventHandlerCount(document), 0);
55 window.addEventListener('pointerenter', listener, true);
56 assert_equals(window.internals.pointerEventHandlerCount(document), 1);
57 window.addEventListener('pointerout', listener, true);
58 assert_equals(window.internals.pointerEventHandlerCount(document), 2);
59 window.addEventListener('pointerenter', listener, false);
60 assert_equals(window.internals.pointerEventHandlerCount(document), 3);
61 window.addEventListener('pointerout', listener, false);
62 assert_equals(window.internals.pointerEventHandlerCount(document), 4);
63 window.removeEventListener('pointerenter', listener, true);
64 assert_equals(window.internals.pointerEventHandlerCount(document), 3);
65 window.removeEventListener('pointerout', listener, true);
66 assert_equals(window.internals.pointerEventHandlerCount(document), 2);
67
68 // Try removing the capturing listener again.
69 window.removeEventListener('pointerenter', listener, true);
70 assert_equals(window.internals.pointerEventHandlerCount(document), 2);
71 window.removeEventListener('pointerout', listener, true);
72 assert_equals(window.internals.pointerEventHandlerCount(document), 2);
73
74 window.removeEventListener('pointerenter', listener, false);
75 assert_equals(window.internals.pointerEventHandlerCount(document), 1);
76 window.removeEventListener('pointerout', listener, false);
77 assert_equals(window.internals.pointerEventHandlerCount(document), 0);
78 }, "Test 3: addEventListener/removeEventListener on the window");
79 })();
80
81 (function() {
82 test(function() {
83 assert_equals(window.internals.pointerEventHandlerCount(document), 0);
84 window.onpointerenter = function() { }
85 assert_equals(window.internals.pointerEventHandlerCount(document), 1);
86 window.onpointerenter = function() { }
87 assert_equals(window.internals.pointerEventHandlerCount(document), 1);
88 window.onpointerenter = null;
89 assert_equals(window.internals.pointerEventHandlerCount(document), 0);
90 }, "Test 4: setting onpointerenter on the window");
91 })();
92
93 </script>
94 </body>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698