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

Side by Side Diff: LayoutTests/fast/events/touch/gesture/gesture-tap-frame-scrollbar.html

Issue 466143005: Fix crash on GestureTap in Node::commonAncestor (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 <!DOCTYPE HTML>
2 <script src="../../../../resources/js-test.js"></script>
3 <style>
4 #target {
5 width: 50px;
6 height: 50px;
7 }
8 </style>
9 <iframe id="target" src="resources/event-delegator.html"></iframe>
10 <div id=console></div>
11 <script>
12 var scrollbarEventType;
13
14 function onEventInFrame(e) {
15 debug("Received " + e.type + " in child frame");
16 if (e.type == scrollbarEventType) {
17 debug('Adding scrollbars to iframe');
18 target.contentDocument.body.style.height = "500px";
19 }
20 }
21
22 function eventLogger(e) {
23 debug("Received " + e.type + " in main frame");
24 }
25
26 document.addEventListener('mousemove', eventLogger);
27 document.addEventListener('mousedown', eventLogger);
28 document.addEventListener('mouseup', eventLogger);
29 document.addEventListener('click', eventLogger);
30
31 description("Taps at a point that becomes a scrollbar (i.e. hit test with innerN ode=null) during the tap and verifies we don't crash.");
32
33 // Tap at the right edge of the frame, where it's scrollbar would live.
Zeeshan Qureshi 2014/08/15 18:33:17 typo: s/it's/its
Rick Byers 2014/08/15 20:17:14 Thanks, done.
34 var rect = target.getBoundingClientRect();
35 var point = {
36 x: rect.right - 4,
37 y: rect.top + rect.height / 2
38 };
39
40 function doTap(type)
41 {
42 return new Promise(function(resolve, reject) {
43 if (type) {
44 debug('Test case: Add scrollbars during ' + type);
45 scrollbarEventType = type;
46 target.contentDocument.body.style.height = "0";
47 } else {
48 debug('Test case: Tap on consistent scrollbar');
49 }
50
51 eventSender.gestureTapDown(point.x, point.y);
52 eventSender.gestureShowPress(point.x, point.y);
53 debug("Sending GestureTap");
54 eventSender.gestureTap(point.x, point.y);
55
56 setTimeout(function() {
57 debug('');
58 resolve();
59 }, 0);
60 });
61 }
62
63 if (window.eventSender) {
64 jsTestIsAsync = true;
65 target.onload = function() {
66 doTap()
67 .then(function() { return doTap('mousemove'); })
68 .then(function() { return doTap('mousedown'); })
69 .then(function() { return doTap('mouseup'); })
70 .catch(function(err) {
71 testFailed("Promise rejected: " + err.message);
72 }).then(finishJSTest);
73 }
74 } else {
75 debug("This test requires eventSender");
76 }
77 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698