| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/browser/renderer_host/input/web_input_event_util.h" | 5 #include "content/browser/renderer_host/input/web_input_event_util.h" |
| 6 | 6 |
| 7 #include "base/strings/string_util.h" | 7 #include "base/strings/string_util.h" |
| 8 #include "content/common/input/web_touch_event_traits.h" | 8 #include "content/common/input/web_touch_event_traits.h" |
| 9 #include "ui/events/gesture_detection/gesture_event_data.h" | 9 #include "ui/events/gesture_detection/gesture_event_data.h" |
| 10 #include "ui/events/gesture_detection/motion_event.h" | 10 #include "ui/events/gesture_detection/motion_event.h" |
| 11 | 11 |
| 12 using blink::WebGestureEvent; | 12 using blink::WebGestureEvent; |
| 13 using blink::WebInputEvent; | 13 using blink::WebInputEvent; |
| 14 using blink::WebMouseEvent; |
| 14 using blink::WebTouchEvent; | 15 using blink::WebTouchEvent; |
| 15 using blink::WebTouchPoint; | 16 using blink::WebTouchPoint; |
| 16 using ui::MotionEvent; | 17 using ui::MotionEvent; |
| 17 | 18 |
| 18 namespace { | 19 namespace { |
| 19 | 20 |
| 20 const char* GetKeyIdentifier(ui::KeyboardCode key_code) { | 21 const char* GetKeyIdentifier(ui::KeyboardCode key_code) { |
| 21 switch (key_code) { | 22 switch (key_code) { |
| 22 case ui::VKEY_MENU: | 23 case ui::VKEY_MENU: |
| 23 return "Alt"; | 24 return "Alt"; |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 if (id) { | 207 if (id) { |
| 207 base::strlcpy(event->keyIdentifier, id, sizeof(event->keyIdentifier) - 1); | 208 base::strlcpy(event->keyIdentifier, id, sizeof(event->keyIdentifier) - 1); |
| 208 } else { | 209 } else { |
| 209 base::snprintf(event->keyIdentifier, | 210 base::snprintf(event->keyIdentifier, |
| 210 sizeof(event->keyIdentifier), | 211 sizeof(event->keyIdentifier), |
| 211 "U+%04X", | 212 "U+%04X", |
| 212 base::ToUpperASCII(static_cast<int>(windows_key_code))); | 213 base::ToUpperASCII(static_cast<int>(windows_key_code))); |
| 213 } | 214 } |
| 214 } | 215 } |
| 215 | 216 |
| 217 blink::WebMouseEvent CreateWebMouseEventFromMotionEvent( |
| 218 const ui::MotionEvent& event) { |
| 219 blink::WebMouseEvent result; |
| 220 result.type = WebInputEvent::MouseMove; |
| 221 switch (event.GetAction()) { |
| 222 case MotionEvent::ACTION_DOWN: { |
| 223 result.type = WebInputEvent::MouseDown; |
| 224 result.modifiers |= WebInputEvent::LeftButtonDown; |
| 225 result.clickCount = 1; |
| 226 break; |
| 227 } |
| 228 case MotionEvent::ACTION_UP: |
| 229 case MotionEvent::ACTION_CANCEL: { |
| 230 result.type = WebInputEvent::MouseUp; |
| 231 result.clickCount = 1; |
| 232 break; |
| 233 } |
| 234 case MotionEvent::ACTION_MOVE: { |
| 235 result.type = WebInputEvent::MouseMove; |
| 236 result.modifiers |= WebInputEvent::LeftButtonDown; |
| 237 break; |
| 238 } |
| 239 default: { |
| 240 } |
| 241 } |
| 242 result.timeStampSeconds = |
| 243 (event.GetEventTime() - base::TimeTicks()).InSecondsF(); |
| 244 result.x = event.GetX(); |
| 245 result.y = event.GetY(); |
| 246 result.windowX = event.GetX(); |
| 247 result.windowY = event.GetY(); |
| 248 |
| 249 if (result.type == WebInputEvent::MouseDown || |
| 250 result.type == WebInputEvent::MouseUp) |
| 251 result.button = WebMouseEvent::ButtonLeft; |
| 252 else |
| 253 result.button = WebMouseEvent::ButtonNone; |
| 254 return result; |
| 255 } |
| 256 |
| 216 blink::WebTouchEvent CreateWebTouchEventFromMotionEvent( | 257 blink::WebTouchEvent CreateWebTouchEventFromMotionEvent( |
| 217 const ui::MotionEvent& event) { | 258 const ui::MotionEvent& event) { |
| 218 blink::WebTouchEvent result; | 259 blink::WebTouchEvent result; |
| 219 | 260 |
| 220 WebTouchEventTraits::ResetType( | 261 WebTouchEventTraits::ResetType( |
| 221 ToWebInputEventType(event.GetAction()), | 262 ToWebInputEventType(event.GetAction()), |
| 222 (event.GetEventTime() - base::TimeTicks()).InSecondsF(), | 263 (event.GetEventTime() - base::TimeTicks()).InSecondsF(), |
| 223 &result); | 264 &result); |
| 224 | 265 |
| 225 result.touchesLength = | 266 result.touchesLength = |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 break; | 365 break; |
| 325 default: | 366 default: |
| 326 NOTREACHED() << "ui::EventType provided wasn't a valid gesture event."; | 367 NOTREACHED() << "ui::EventType provided wasn't a valid gesture event."; |
| 327 break; | 368 break; |
| 328 } | 369 } |
| 329 | 370 |
| 330 return gesture; | 371 return gesture; |
| 331 } | 372 } |
| 332 | 373 |
| 333 } // namespace content | 374 } // namespace content |
| OLD | NEW |