summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/inspector-protocol/input/dispatchTouchEvent.html
blob: a73fd2549135721f751a3a5a9f840c2554139030 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<html>
<head>
<script type="text/javascript" src="../../http/tests/inspector-protocol/resources/protocol-test.js"></script>
<script>

window.addEventListener("touchstart", logEvent);
window.addEventListener("touchend", logEvent);
window.addEventListener("touchmove", logEvent);

function logEvent(event)
{
    log("-----Event-----");
    log("type: " + event.type);
    if (event.shiftKey)
        log("shiftKey");
    log("----Touches----");
    for (var i = 0; i < event.touches.length; i++) {
        var touch = event.touches[i];
        log("id: " + i);
        log("pageX: " + touch.pageX);
        log("pageY: " + touch.pageY);
        log("webkitRadiusX: " + touch.webkitRadiusX);
        log("webkitRadiusY: " + touch.webkitRadiusY);
        log("webkitRotationAngle: " + touch.webkitRotationAngle);
        log("webkitForce: " + touch.webkitForce);
    }
}

function test()
{
    var events = [
        {
            "type": "touchStart",
            "touchPoints": [
                {
                    "state": "touchPressed",
                    "x": 100,
                    "y": 200
                }
            ]
        },
        {
            "type": "touchMove",
            "touchPoints": [
                {
                    "state": "touchMoved",
                    "x": 100,
                    "y": 200
                }
            ]
        },
        {
            "type": "touchEnd",
            "touchPoints": [
                {
                    "state": "touchReleased",
                    "x": 100,
                    "y": 200
                }
            ]
        },
        {
            "type": "touchStart",
            "touchPoints": [
                {
                    "state": "touchPressed",
                    "x": 20,
                    "y": 30,
                    "id": 0
                },
                {
                    "state": "touchPressed",
                    "x": 100,
                    "y": 200,
                    "radiusX": 5,
                    "radiusY": 6,
                    "rotationAngle": 1.0,
                    "force": 0.0,
                    "id": 1
                }
            ],
            "modifiers": 8 // shift
        },
        {
            "type": "touchEnd",
            "touchPoints": [
                {
                    "state": "touchReleased",
                    "x": 100,
                    "y": 100,
                    "id": 0
                },
                {
                    "state": "touchReleased",
                    "x": 100,
                    "y": 200,
                    "id": 1
                }
            ]
        }
    ];

    for (var i = 0; i < events.length; i++)
        InspectorTest.sendCommand("Input.dispatchTouchEvent", events[i], checkResponse.bind(undefined, i == events.length - 1));

    function checkResponse(isLastCommand, msg)
    {
        if (msg.error)
            InspectorTest.log("Error: " + msg.error.message);
        if (isLastCommand)
            InspectorTest.completeTest();
    }
}

</script>
</head>
<body onload="runTest()">
</body>
</html>