Web Replay: capture and replay mouse events
[WebKit-https.git] / Source / WebCore / replay / WebInputs.json
1 {
2     "types": {
3         "Global": [
4             { "name": "bool", "mode": "SCALAR" },
5             { "name": "double", "mode": "SCALAR" },
6             { "name": "int", "mode": "SCALAR" },
7             { "name": "unsigned", "mode": "SCALAR" },
8             { "name": "unsigned long", "mode": "SCALAR" },
9             { "name": "unsigned long long", "mode": "SCALAR" }
10         ],
11
12         "WTF": [
13             {
14                 "name": "String", "mode": "HEAVY_SCALAR",
15                 "header": "wtf/text/WTFString.h"
16             }
17         ],
18
19         "JavaScriptCore": [
20             {
21                 "name": "InputQueue", "mode": "SCALAR", "storage": "uint8_t",
22                 "flags": ["ENUM_CLASS"],
23                 "values": ["EventLoopInput", "LoaderMemoizedData", "ScriptMemoizedData", "Count"],
24                 "header": "replay/NondeterministicInput.h"
25             }
26         ],
27
28         "WebCore": [
29             {
30                 "name": "EncodedCType", "mode": "SCALAR", "storage": "uint8_t",
31                 "flags": ["ENUM_CLASS"],
32                 "values": [
33                     "Boolean",
34                     "Int",
35                     "String",
36                     "Unsigned"
37                 ],
38                 "header": "replay/MemoizedDOMResult.h"
39             },
40             {
41                 "name": "Modifiers", "mode": "SCALAR", "storage": "uint8_t",
42                 "enclosing_class": "PlatformEvent",
43                 "flags": ["ENUM"],
44                 "values": ["AltKey", "CtrlKey", "MetaKey", "ShiftKey"],
45                 "header": "platform/PlatformEvent.h"
46             },
47             {
48                 "name": "MouseButton", "mode": "SCALAR", "storage": "int8_t",
49                 "flags": ["ENUM"],
50                 "values": ["NoButton", "LeftButton", "MiddleButton", "RightButton"],
51                 "header": "platform/PlatformMouseEvent.h"
52             },
53             {
54                 "name": "Page", "mode": "OWNED",
55                 "header": "page/Page.h"
56             },
57             {
58                 "name": "PlatformMouseEvent", "mode": "OWNED",
59                 "header": "platform/PlatformMouseEvent.h"
60             },
61             {
62                 "name": "SecurityOrigin", "mode": "SHARED",
63                 "header": "page/SecurityOrigin.h"
64             },
65             {
66                 "name": "Type", "mode": "SCALAR", "storage": "uint8_t",
67                 "enclosing_class": "PlatformEvent",
68                 "flags": ["ENUM"],
69                 "values": [
70                     "NoType",
71                     "KeyDown",
72                     "KeyUp",
73                     "RawKeyDown",
74                     "Char",
75                     "MouseMoved",
76                     "MousePressed",
77                     "MouseReleased",
78                     "MouseScroll",
79                     "Wheel"
80                 ],
81                 "guarded_values": {
82                     "ENABLE(TOUCH_EVENTS)": [
83                         "TouchStart",
84                         "TouchMove",
85                         "TouchEnd",
86                         "TouchCancel"
87                     ]
88                 },
89                 "header": "platform/PlatformEvent.h"
90             },
91             {
92                 "name": "URL", "mode": "HEAVY_SCALAR",
93                 "header": "platform/URL.h"
94             }
95         ]
96     },
97
98     "inputs": [
99         {
100             "name": "BeginSegmentSentinel",
101             "description": "A sentinel input to signal the start of a segment.",
102             "queue": "EVENT_LOOP",
103             "members": [ ]
104         },
105         {
106             "name": "EndSegmentSentinel",
107             "description": "A sentinel input to signal the end of a segment.",
108             "queue": "EVENT_LOOP",
109             "members": [ ]
110         },
111         {
112             "name": "HandleMouseMove",
113             "description": "The embedder signalled a mouse move event.",
114             "queue": "EVENT_LOOP",
115             "members": [
116                 { "name": "platformEvent", "type": "PlatformMouseEvent" },
117                 { "name": "scrollbarTargeted", "type": "bool" }
118             ]
119         },
120         {
121             "name": "HandleMousePress",
122             "description": "The embedder signalled a mouse press event.",
123             "queue": "EVENT_LOOP",
124             "members": [
125                 { "name": "platformEvent", "type": "PlatformMouseEvent" }
126             ]
127         },
128         {
129             "name": "HandleMouseRelease",
130             "description": "The embedder signalled a mouse release event.",
131             "queue": "EVENT_LOOP",
132             "members": [
133                 { "name": "platformEvent", "type": "PlatformMouseEvent" }
134             ]
135         },
136         {
137             "name": "InitialNavigation",
138             "description": "Initiate the initial main frame navigation.",
139             "queue": "EVENT_LOOP",
140             "flags": ["HIDDEN", "CREATE_FROM_PAGE"],
141             "members": [
142                 { "name": "securityOrigin", "type": "SecurityOrigin" },
143                 { "name": "url", "type": "URL" },
144                 { "name": "referrer", "type": "String" }
145             ]
146         }
147     ]
148 }