summaryrefslogtreecommitdiffstats
path: root/ppapi/native_client/tests/ppapi_simple_tests/event.stdin
blob: d3a5a162a876d51068fa9b6af3b0d5b1f2184ce8 (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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# define a bunch of variables for readability

set_variable MODULE i(4444)
set_variable INSTANCE i(5555)
set_variable EVENT i(6666)

# NOTE: the event interface between the nexe and proxy is not strictly
#       following the ppapi model because of performance reasons.
#
# The nexe entry point is
#   PPP_InputEvent_HandleInputEvent:iiCC:i
# Where the arguments are:
#   in:
#     PP_Instance instance:
#     PP_Resource resource:
#     InputEventData event_data:
#     char[] character_text:
#   out:
#     int handled:
#
# InputEventData is described in src/shared/ppapi_proxy/input_event_data.h as:
#
# struct InputEventData {
#   InputEventData();
#   ~InputEventData();
#
#   PP_InputEvent_Type event_type;
#   uint32_t event_modifiers;
#   PP_TimeTicks event_time_stamp;
#
#   PP_InputEvent_MouseButton mouse_button;
#   int32_t mouse_click_count;
#   PP_Point mouse_position;
#   PP_Point mouse_movement;
#
#   PP_FloatPoint wheel_delta;
#   PP_FloatPoint wheel_ticks;
#   PP_Bool wheel_scroll_by_page;
#
#   uint32_t key_code;
# };

# ieee double
set_variable TIME_1 8:0x3ff0000000000000
set_variable TIME_2 8:0x3ff1000000000000
set_variable TIME_3 8:0x3ff2000000000000
set_variable TIME_4 8:0x3ff3000000000000
set_variable TIME_5 8:0x3ff4000000000000
set_variable TIME_6 8:0x3ff5000000000000
set_variable TIME_7 8:0x3ff6000000000000

# pair of ints
set_variable COORDS 4:264,4:100
set_variable MOVES  4:0,4:0

set_variable EV_MOUSE_DOWN  R(64,4:0,4:64,${TIME_1},4:0,4:1,${COORDS},${MOVES},8:0,8:0,4:0,4:0)
set_variable EV_MOUSE_UP    R(64,4:1,4:64,${TIME_2},4:0,4:0,${COORDS},${MOVES},8:0,8:0,4:0,4:0)

set_variable EV_MOUSE_MOVE  R(64,4:2,4:0,${TIME_3},4:0,4:0,${COORDS},${MOVES},8:0,8:0,4:0,4:0)

set_variable EV_MOUSE_ENTER R(64,4:3,4:0,${TIME_4},4:0,4:0,${COORDS},${MOVES},8:0,8:0,4:0,4:0)
set_variable EV_MOUSE_LEAVE R(64,4:4,4:0,${TIME_5},4:0,4:0,${COORDS},${MOVES},8:0,8:0,4:0,4:0)

set_variable EV_KEY_DOWN    R(64,4:7,4:0,${TIME_6},4:0,4:0,8:0,8:0,8:0,8:0,4:0,4:0x54)
set_variable EV_KEY_UP      R(64,4:8,4:0,${TIME_7},4:0,4:0,8:0,8:0,8:0,8:0,4:0,4:0x54)

set_variable JS_STR 4:5
set_variable JS_UND 4:0
set_variable VAR_UNDEF R(8,${JS_UND},4:0)
set_variable VAR_CHAR R(16,${JS_STR},4:1,8:0x56)


echo
echo "*** INIT MODULE"
replay 1 PPB_GetInterface:s:i  s("PPB_Core;1.0") * i(1)
replay 1 PPB_GetInterface:s:i  s("PPB_Instance;1.0") * i(1)
# the results contain a process id which is non-determinisitic
rpc PPP_InitializeModule hide-results i(0) ${MODULE} h(pepper_desc) s("${service_string}") * i(0) i(0)


echo
echo "*** INIT INSTANCE"
set_variable TAGS C(12,buffer_size\000)
set_variable VALUES C(4,100\000)
replay 1 PPB_GetInterface:s:i  s("PPB_InputEvent;1.0") * i(1)
rpc PPP_Instance_DidCreate ${INSTANCE} i(1) ${TAGS} ${VALUES} * i(0)

replay 1 PPB_GetInterface:s:i  s("PPB_Var;1.0") * i(1)
replay 1 PPB_GetInterface:s:i  s("PPB_MouseInputEvent;1.1") * i(1)
replay 1 PPB_GetInterface:s:i  s("PPB_KeyboardInputEvent;1.0") * i(1)
# These occur once each for each event sent to the nexe
replay 7 PPB_Core_AddRefResource:i: ${EVENT} *
replay 7 ReleaseResourceMultipleTimes:ii: ${EVENT} i(1) *


echo
echo "*** SENT EVENTS EV_MOUSE_DOWN"
rpc PPP_InputEvent_HandleInputEvent ${INSTANCE} ${EVENT} ${EV_MOUSE_DOWN} ${VAR_UNDEF} * i(0)
echo
echo "*** SENT EVENTS EV_MOUSE_UP"
rpc PPP_InputEvent_HandleInputEvent ${INSTANCE} ${EVENT} ${EV_MOUSE_UP} ${VAR_UNDEF} * i(0)
echo
echo "*** SENT EVENTS EV_MOUSE_MOVE"
rpc PPP_InputEvent_HandleInputEvent ${INSTANCE} ${EVENT} ${EV_MOUSE_MOVE} ${VAR_UNDEF} * i(0)
echo
echo "*** SENT EVENTS EV_MOUSE_ENTER"
rpc PPP_InputEvent_HandleInputEvent ${INSTANCE} ${EVENT} ${EV_MOUSE_ENTER} ${VAR_UNDEF} * i(0)
echo
echo "*** SENT EVENTS EV_MOUSE_LEAVE"
rpc PPP_InputEvent_HandleInputEvent ${INSTANCE} ${EVENT} ${EV_MOUSE_LEAVE} ${VAR_UNDEF} * i(0)
echo
echo "*** SENT EVENTS EV_KEY_UP"
rpc PPP_InputEvent_HandleInputEvent ${INSTANCE} ${EVENT} ${EV_KEY_UP} ${VAR_CHAR} * i(0)
echo
echo "*** SENT EVENTS EV_KEY_DOWN"
rpc PPP_InputEvent_HandleInputEvent ${INSTANCE} ${EVENT} ${EV_KEY_DOWN} ${VAR_CHAR} * i(0)


echo
echo "*** TRIGGER EVENT FLUSH"
replay 1 PPB_GetInterface:s:i  s("PPB_Var;1.0") * i(1)
replay 1 PPB_GetInterface:s:i  s("PPB_Messaging;1.0") * i(1)
replay 1 PPB_Messaging_PostMessage:iC: i(5555) C(104,\x05\x00\x00\x00_\x00\x00\x005555:_Mouse_event:Down_modifier:left-button-down__button:Left_x:264_y:100_click_count:1_time:1\n\x00) *
replay 1 PPB_Messaging_PostMessage:iC: i(5555) C(112,\x05\x00\x00\x00b\x00\x00\x005555:_Mouse_event:Up_modifier:left-button-down__button:Left_x:264_y:100_click_count:0_time:1.0625\n\x00\x00\x00\x00\x00\x00) *
replay 1 PPB_Messaging_PostMessage:iC: i(5555) C(96,\x05\x00\x00\x00R\x00\x00\x005555:_Mouse_event:Move_modifier:_button:Left_x:264_y:100_click_count:0_time:1.125\n\x00\x00\x00\x00\x00\x00) *
replay 1 PPB_Messaging_PostMessage:iC: i(5555) C(96,\x05\x00\x00\x00T\x00\x00\x005555:_Mouse_event:Enter_modifier:_button:Left_x:264_y:100_click_count:0_time:1.1875\n\x00\x00\x00\x00) *
replay 1 PPB_Messaging_PostMessage:iC: i(5555) C(96,\x05\x00\x00\x00R\x00\x00\x005555:_Mouse_event:Leave_modifier:_button:Left_x:264_y:100_click_count:0_time:1.25\n\x00\x00\x00\x00\x00\x00) *
replay 1 PPB_Messaging_PostMessage:iC: i(5555) C(80,\x05\x00\x00\x00B\x00\x00\x005555:_Key_event:Up_modifier:_key_code:84_time:1.375_text:Var<'V'>\n\x00\x00\x00\x00\x00\x00) *
replay 1 PPB_Messaging_PostMessage:iC: i(5555) C(80,\x05\x00\x00\x00E\x00\x00\x005555:_Key_event:Down_modifier:_key_code:84_time:1.3125_text:Var<'V'>\n\x00\x00\x00) *
rpc PPP_Instance_DidChangeFocus ${INSTANCE} b(0) *


rpc PPP_ShutdownModule *

echo "DONE"