| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui_events_helper.h" | 5 #include "content/browser/renderer_host/ui_events_helper.h" |
| 6 | 6 |
| 7 #include "content/browser/renderer_host/input/web_input_event_util.h" |
| 7 #include "content/common/input/web_touch_event_traits.h" | 8 #include "content/common/input/web_touch_event_traits.h" |
| 8 #include "third_party/WebKit/public/web/WebInputEvent.h" | 9 #include "third_party/WebKit/public/web/WebInputEvent.h" |
| 9 #include "ui/events/event.h" | 10 #include "ui/events/event.h" |
| 10 #include "ui/events/event_constants.h" | 11 #include "ui/events/event_constants.h" |
| 11 | 12 |
| 12 namespace { | 13 namespace { |
| 13 | 14 |
| 14 int WebModifiersToUIFlags(int modifiers) { | 15 int WebModifiersToUIFlags(int modifiers) { |
| 15 int flags = ui::EF_NONE; | 16 int flags = ui::EF_NONE; |
| 16 | 17 |
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 NOTREACHED() << "Unknown gesture type: " << event.type(); | 236 NOTREACHED() << "Unknown gesture type: " << event.type(); |
| 236 } | 237 } |
| 237 | 238 |
| 238 gesture_event.sourceDevice = blink::WebGestureDeviceTouchscreen; | 239 gesture_event.sourceDevice = blink::WebGestureDeviceTouchscreen; |
| 239 gesture_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); | 240 gesture_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); |
| 240 gesture_event.timeStampSeconds = event.time_stamp().InSecondsF(); | 241 gesture_event.timeStampSeconds = event.time_stamp().InSecondsF(); |
| 241 | 242 |
| 242 return gesture_event; | 243 return gesture_event; |
| 243 } | 244 } |
| 244 | 245 |
| 245 int EventFlagsToWebEventModifiers(int flags) { | |
| 246 int modifiers = 0; | |
| 247 | |
| 248 if (flags & ui::EF_SHIFT_DOWN) | |
| 249 modifiers |= blink::WebInputEvent::ShiftKey; | |
| 250 if (flags & ui::EF_CONTROL_DOWN) | |
| 251 modifiers |= blink::WebInputEvent::ControlKey; | |
| 252 if (flags & ui::EF_ALT_DOWN) | |
| 253 modifiers |= blink::WebInputEvent::AltKey; | |
| 254 if (flags & ui::EF_COMMAND_DOWN) | |
| 255 modifiers |= blink::WebInputEvent::MetaKey; | |
| 256 | |
| 257 if (flags & ui::EF_LEFT_MOUSE_BUTTON) | |
| 258 modifiers |= blink::WebInputEvent::LeftButtonDown; | |
| 259 if (flags & ui::EF_MIDDLE_MOUSE_BUTTON) | |
| 260 modifiers |= blink::WebInputEvent::MiddleButtonDown; | |
| 261 if (flags & ui::EF_RIGHT_MOUSE_BUTTON) | |
| 262 modifiers |= blink::WebInputEvent::RightButtonDown; | |
| 263 if (flags & ui::EF_CAPS_LOCK_DOWN) | |
| 264 modifiers |= blink::WebInputEvent::CapsLockOn; | |
| 265 if (flags & ui::EF_IS_REPEAT) | |
| 266 modifiers |= blink::WebInputEvent::IsAutoRepeat; | |
| 267 return modifiers; | |
| 268 } | |
| 269 | |
| 270 blink::WebTouchPoint* UpdateWebTouchEventFromUIEvent( | 246 blink::WebTouchPoint* UpdateWebTouchEventFromUIEvent( |
| 271 const ui::TouchEvent& event, | 247 const ui::TouchEvent& event, |
| 272 blink::WebTouchEvent* web_event) { | 248 blink::WebTouchEvent* web_event) { |
| 273 blink::WebTouchPoint* point = NULL; | 249 blink::WebTouchPoint* point = NULL; |
| 274 switch (event.type()) { | 250 switch (event.type()) { |
| 275 case ui::ET_TOUCH_PRESSED: | 251 case ui::ET_TOUCH_PRESSED: |
| 276 // Add a new touch point. | 252 // Add a new touch point. |
| 277 if (web_event->touchesLength < blink::WebTouchEvent::touchesLengthCap) { | 253 if (web_event->touchesLength < blink::WebTouchEvent::touchesLengthCap) { |
| 278 point = &web_event->touches[web_event->touchesLength++]; | 254 point = &web_event->touches[web_event->touchesLength++]; |
| 279 point->id = event.touch_id(); | 255 point->id = event.touch_id(); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 // Update the type of the touch event. | 303 // Update the type of the touch event. |
| 328 WebTouchEventTraits::ResetType(TouchEventTypeFromEvent(event), | 304 WebTouchEventTraits::ResetType(TouchEventTypeFromEvent(event), |
| 329 event.time_stamp().InSecondsF(), | 305 event.time_stamp().InSecondsF(), |
| 330 web_event); | 306 web_event); |
| 331 web_event->modifiers = EventFlagsToWebEventModifiers(event.flags()); | 307 web_event->modifiers = EventFlagsToWebEventModifiers(event.flags()); |
| 332 | 308 |
| 333 return point; | 309 return point; |
| 334 } | 310 } |
| 335 | 311 |
| 336 } // namespace content | 312 } // namespace content |
| OLD | NEW |