OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "webkit/plugins/ppapi/event_conversion.h" | 5 #include "webkit/plugins/ppapi/event_conversion.h" |
6 | 6 |
7 #include "base/i18n/char_iterator.h" | 7 #include "base/i18n/char_iterator.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/scoped_ptr.h" | 9 #include "base/scoped_ptr.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 case WebInputEvent::MouseDown: | 29 case WebInputEvent::MouseDown: |
30 return PP_INPUTEVENT_TYPE_MOUSEDOWN; | 30 return PP_INPUTEVENT_TYPE_MOUSEDOWN; |
31 case WebInputEvent::MouseUp: | 31 case WebInputEvent::MouseUp: |
32 return PP_INPUTEVENT_TYPE_MOUSEUP; | 32 return PP_INPUTEVENT_TYPE_MOUSEUP; |
33 case WebInputEvent::MouseMove: | 33 case WebInputEvent::MouseMove: |
34 return PP_INPUTEVENT_TYPE_MOUSEMOVE; | 34 return PP_INPUTEVENT_TYPE_MOUSEMOVE; |
35 case WebInputEvent::MouseEnter: | 35 case WebInputEvent::MouseEnter: |
36 return PP_INPUTEVENT_TYPE_MOUSEENTER; | 36 return PP_INPUTEVENT_TYPE_MOUSEENTER; |
37 case WebInputEvent::MouseLeave: | 37 case WebInputEvent::MouseLeave: |
38 return PP_INPUTEVENT_TYPE_MOUSELEAVE; | 38 return PP_INPUTEVENT_TYPE_MOUSELEAVE; |
| 39 case WebInputEvent::ContextMenu: |
| 40 return PP_INPUTEVENT_TYPE_CONTEXTMENU; |
39 case WebInputEvent::MouseWheel: | 41 case WebInputEvent::MouseWheel: |
40 return PP_INPUTEVENT_TYPE_MOUSEWHEEL; | 42 return PP_INPUTEVENT_TYPE_MOUSEWHEEL; |
41 case WebInputEvent::RawKeyDown: | 43 case WebInputEvent::RawKeyDown: |
42 return PP_INPUTEVENT_TYPE_RAWKEYDOWN; | 44 return PP_INPUTEVENT_TYPE_RAWKEYDOWN; |
43 case WebInputEvent::KeyDown: | 45 case WebInputEvent::KeyDown: |
44 return PP_INPUTEVENT_TYPE_KEYDOWN; | 46 return PP_INPUTEVENT_TYPE_KEYDOWN; |
45 case WebInputEvent::KeyUp: | 47 case WebInputEvent::KeyUp: |
46 return PP_INPUTEVENT_TYPE_KEYUP; | 48 return PP_INPUTEVENT_TYPE_KEYUP; |
47 case WebInputEvent::Char: | 49 case WebInputEvent::Char: |
48 return PP_INPUTEVENT_TYPE_CHAR; | 50 return PP_INPUTEVENT_TYPE_CHAR; |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 break; | 208 break; |
207 case PP_INPUTEVENT_TYPE_MOUSEMOVE: | 209 case PP_INPUTEVENT_TYPE_MOUSEMOVE: |
208 mouse_event->type = WebInputEvent::MouseMove; | 210 mouse_event->type = WebInputEvent::MouseMove; |
209 break; | 211 break; |
210 case PP_INPUTEVENT_TYPE_MOUSEENTER: | 212 case PP_INPUTEVENT_TYPE_MOUSEENTER: |
211 mouse_event->type = WebInputEvent::MouseEnter; | 213 mouse_event->type = WebInputEvent::MouseEnter; |
212 break; | 214 break; |
213 case PP_INPUTEVENT_TYPE_MOUSELEAVE: | 215 case PP_INPUTEVENT_TYPE_MOUSELEAVE: |
214 mouse_event->type = WebInputEvent::MouseLeave; | 216 mouse_event->type = WebInputEvent::MouseLeave; |
215 break; | 217 break; |
| 218 case PP_INPUTEVENT_TYPE_CONTEXTMENU: |
| 219 mouse_event->type = WebInputEvent::ContextMenu; |
| 220 break; |
216 default: | 221 default: |
217 NOTREACHED(); | 222 NOTREACHED(); |
218 } | 223 } |
219 mouse_event->timeStampSeconds = event.time_stamp; | 224 mouse_event->timeStampSeconds = event.time_stamp; |
220 mouse_event->modifiers = event.u.mouse.modifier; | 225 mouse_event->modifiers = event.u.mouse.modifier; |
221 mouse_event->button = | 226 mouse_event->button = |
222 static_cast<WebMouseEvent::Button>(event.u.mouse.button); | 227 static_cast<WebMouseEvent::Button>(event.u.mouse.button); |
223 mouse_event->x = static_cast<int>(event.u.mouse.x); | 228 mouse_event->x = static_cast<int>(event.u.mouse.x); |
224 mouse_event->y = static_cast<int>(event.u.mouse.y); | 229 mouse_event->y = static_cast<int>(event.u.mouse.y); |
225 mouse_event->clickCount = event.u.mouse.click_count; | 230 mouse_event->clickCount = event.u.mouse.click_count; |
(...skipping 18 matching lines...) Expand all Loading... |
244 void CreatePPEvent(const WebInputEvent& event, | 249 void CreatePPEvent(const WebInputEvent& event, |
245 std::vector<PP_InputEvent>* pp_events) { | 250 std::vector<PP_InputEvent>* pp_events) { |
246 pp_events->clear(); | 251 pp_events->clear(); |
247 | 252 |
248 switch (event.type) { | 253 switch (event.type) { |
249 case WebInputEvent::MouseDown: | 254 case WebInputEvent::MouseDown: |
250 case WebInputEvent::MouseUp: | 255 case WebInputEvent::MouseUp: |
251 case WebInputEvent::MouseMove: | 256 case WebInputEvent::MouseMove: |
252 case WebInputEvent::MouseEnter: | 257 case WebInputEvent::MouseEnter: |
253 case WebInputEvent::MouseLeave: | 258 case WebInputEvent::MouseLeave: |
| 259 case WebInputEvent::ContextMenu: |
254 AppendMouseEvent(event, pp_events); | 260 AppendMouseEvent(event, pp_events); |
255 break; | 261 break; |
256 case WebInputEvent::MouseWheel: | 262 case WebInputEvent::MouseWheel: |
257 AppendMouseWheelEvent(event, pp_events); | 263 AppendMouseWheelEvent(event, pp_events); |
258 break; | 264 break; |
259 case WebInputEvent::RawKeyDown: | 265 case WebInputEvent::RawKeyDown: |
260 case WebInputEvent::KeyDown: | 266 case WebInputEvent::KeyDown: |
261 case WebInputEvent::KeyUp: | 267 case WebInputEvent::KeyUp: |
262 AppendKeyEvent(event, pp_events); | 268 AppendKeyEvent(event, pp_events); |
263 break; | 269 break; |
264 case WebInputEvent::Char: | 270 case WebInputEvent::Char: |
265 AppendCharEvent(event, pp_events); | 271 AppendCharEvent(event, pp_events); |
266 break; | 272 break; |
267 case WebInputEvent::Undefined: | 273 case WebInputEvent::Undefined: |
268 default: | 274 default: |
269 break; | 275 break; |
270 } | 276 } |
271 } | 277 } |
272 | 278 |
273 WebInputEvent* CreateWebInputEvent(const PP_InputEvent& event) { | 279 WebInputEvent* CreateWebInputEvent(const PP_InputEvent& event) { |
274 scoped_ptr<WebInputEvent> web_input_event; | 280 scoped_ptr<WebInputEvent> web_input_event; |
275 switch (event.type) { | 281 switch (event.type) { |
276 case PP_INPUTEVENT_TYPE_UNDEFINED: | 282 case PP_INPUTEVENT_TYPE_UNDEFINED: |
277 return NULL; | 283 return NULL; |
278 case PP_INPUTEVENT_TYPE_MOUSEDOWN: | 284 case PP_INPUTEVENT_TYPE_MOUSEDOWN: |
279 case PP_INPUTEVENT_TYPE_MOUSEUP: | 285 case PP_INPUTEVENT_TYPE_MOUSEUP: |
280 case PP_INPUTEVENT_TYPE_MOUSEMOVE: | 286 case PP_INPUTEVENT_TYPE_MOUSEMOVE: |
281 case PP_INPUTEVENT_TYPE_MOUSEENTER: | 287 case PP_INPUTEVENT_TYPE_MOUSEENTER: |
282 case PP_INPUTEVENT_TYPE_MOUSELEAVE: | 288 case PP_INPUTEVENT_TYPE_MOUSELEAVE: |
| 289 case PP_INPUTEVENT_TYPE_CONTEXTMENU: |
283 web_input_event.reset(BuildMouseEvent(event)); | 290 web_input_event.reset(BuildMouseEvent(event)); |
284 break; | 291 break; |
285 case PP_INPUTEVENT_TYPE_MOUSEWHEEL: | 292 case PP_INPUTEVENT_TYPE_MOUSEWHEEL: |
286 web_input_event.reset(BuildMouseWheelEvent(event)); | 293 web_input_event.reset(BuildMouseWheelEvent(event)); |
287 break; | 294 break; |
288 case PP_INPUTEVENT_TYPE_RAWKEYDOWN: | 295 case PP_INPUTEVENT_TYPE_RAWKEYDOWN: |
289 case PP_INPUTEVENT_TYPE_KEYDOWN: | 296 case PP_INPUTEVENT_TYPE_KEYDOWN: |
290 case PP_INPUTEVENT_TYPE_KEYUP: | 297 case PP_INPUTEVENT_TYPE_KEYUP: |
291 web_input_event.reset(BuildKeyEvent(event)); | 298 web_input_event.reset(BuildKeyEvent(event)); |
292 break; | 299 break; |
293 case PP_INPUTEVENT_TYPE_CHAR: | 300 case PP_INPUTEVENT_TYPE_CHAR: |
294 web_input_event.reset(BuildCharEvent(event)); | 301 web_input_event.reset(BuildCharEvent(event)); |
295 break; | 302 break; |
296 } | 303 } |
297 | 304 |
298 return web_input_event.release(); | 305 return web_input_event.release(); |
299 } | 306 } |
| 307 |
300 } // namespace ppapi | 308 } // namespace ppapi |
301 } // namespace webkit | 309 } // namespace webkit |
302 | |
OLD | NEW |