| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 // between platforms here, we explicitly clear the button that is | 203 // between platforms here, we explicitly clear the button that is |
| 204 // in the process of being released. | 204 // in the process of being released. |
| 205 m_modifiers &= ~toPlatformModifierFrom(e.button); | 205 m_modifiers &= ~toPlatformModifierFrom(e.button); |
| 206 break; | 206 break; |
| 207 | 207 |
| 208 default: | 208 default: |
| 209 NOTREACHED(); | 209 NOTREACHED(); |
| 210 } | 210 } |
| 211 } | 211 } |
| 212 | 212 |
| 213 // PlatformWheelEventBuilder -------------------------------------------------- | 213 WebMouseWheelEvent TransformWebMouseWheelEvent( |
| 214 | |
| 215 PlatformWheelEventBuilder::PlatformWheelEventBuilder( | |
| 216 Widget* widget, | 214 Widget* widget, |
| 217 const WebMouseWheelEvent& e) { | 215 const WebMouseWheelEvent& event) { |
| 218 m_position = widget->convertFromRootFrame(flooredIntPoint( | 216 WebMouseWheelEvent result = event; |
| 219 convertHitPointToRootFrame(widget, FloatPoint(e.x, e.y)))); | 217 result.setFrameScale(frameScale(widget)); |
| 220 m_globalPosition = IntPoint(e.globalX, e.globalY); | 218 result.setFrameTranslate(frameTranslation(widget)); |
| 221 m_deltaX = scaleDeltaToWindow(widget, e.deltaX); | 219 return result; |
| 222 m_deltaY = scaleDeltaToWindow(widget, e.deltaY); | |
| 223 m_wheelTicksX = e.wheelTicksX; | |
| 224 m_wheelTicksY = e.wheelTicksY; | |
| 225 m_granularity = | |
| 226 e.scrollByPage ? ScrollByPageWheelEvent : ScrollByPixelWheelEvent; | |
| 227 | |
| 228 m_type = PlatformEvent::Wheel; | |
| 229 | |
| 230 m_timestamp = TimeTicks::FromSeconds(e.timeStampSeconds); | |
| 231 m_modifiers = e.modifiers; | |
| 232 m_dispatchType = toPlatformDispatchType(e.dispatchType); | |
| 233 | |
| 234 m_hasPreciseScrollingDeltas = e.hasPreciseScrollingDeltas; | |
| 235 m_resendingPluginId = e.resendingPluginId; | |
| 236 m_railsMode = static_cast<PlatformEvent::RailsMode>(e.railsMode); | |
| 237 #if OS(MACOSX) | |
| 238 m_phase = static_cast<PlatformWheelEventPhase>(e.phase); | |
| 239 m_momentumPhase = static_cast<PlatformWheelEventPhase>(e.momentumPhase); | |
| 240 #endif | |
| 241 } | 220 } |
| 242 | 221 |
| 243 // PlatformGestureEventBuilder ----------------------------------------------- | |
| 244 | |
| 245 WebGestureEvent TransformWebGestureEvent(Widget* widget, | 222 WebGestureEvent TransformWebGestureEvent(Widget* widget, |
| 246 const WebGestureEvent& event) { | 223 const WebGestureEvent& event) { |
| 247 WebGestureEvent result = event; | 224 WebGestureEvent result = event; |
| 248 result.setFrameScale(frameScale(widget)); | 225 result.setFrameScale(frameScale(widget)); |
| 249 result.setFrameTranslate(frameTranslation(widget)); | 226 result.setFrameTranslate(frameTranslation(widget)); |
| 250 return result; | 227 return result; |
| 251 } | 228 } |
| 252 | 229 |
| 253 inline PlatformEvent::EventType toPlatformTouchEventType( | 230 inline PlatformEvent::EventType toPlatformTouchEventType( |
| 254 const WebInputEvent::Type type) { | 231 const WebInputEvent::Type type) { |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 clickCount = (type == MouseDown || type == MouseUp); | 454 clickCount = (type == MouseDown || type == MouseUp); |
| 478 | 455 |
| 479 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( | 456 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( |
| 480 DoublePoint(touch->absoluteLocation()), layoutItem); | 457 DoublePoint(touch->absoluteLocation()), layoutItem); |
| 481 x = localPoint.x(); | 458 x = localPoint.x(); |
| 482 y = localPoint.y(); | 459 y = localPoint.y(); |
| 483 | 460 |
| 484 pointerType = WebPointerProperties::PointerType::Touch; | 461 pointerType = WebPointerProperties::PointerType::Touch; |
| 485 } | 462 } |
| 486 | 463 |
| 487 WebMouseWheelEventBuilder::WebMouseWheelEventBuilder( | |
| 488 const Widget* widget, | |
| 489 const LayoutItem layoutItem, | |
| 490 const WheelEvent& event) { | |
| 491 if (event.type() != EventTypeNames::wheel && | |
| 492 event.type() != EventTypeNames::mousewheel) | |
| 493 return; | |
| 494 type = WebInputEvent::MouseWheel; | |
| 495 updateWebMouseEventFromCoreMouseEvent(event, widget, layoutItem, *this); | |
| 496 deltaX = -event.deltaX(); | |
| 497 deltaY = -event.deltaY(); | |
| 498 wheelTicksX = event.ticksX(); | |
| 499 wheelTicksY = event.ticksY(); | |
| 500 scrollByPage = event.deltaMode() == WheelEvent::kDomDeltaPage; | |
| 501 resendingPluginId = event.resendingPluginId(); | |
| 502 railsMode = static_cast<RailsMode>(event.getRailsMode()); | |
| 503 hasPreciseScrollingDeltas = event.hasPreciseScrollingDeltas(); | |
| 504 dispatchType = event.cancelable() ? WebInputEvent::Blocking | |
| 505 : WebInputEvent::EventNonBlocking; | |
| 506 #if OS(MACOSX) | |
| 507 phase = static_cast<Phase>(event.phase()); | |
| 508 momentumPhase = static_cast<Phase>(event.momentumPhase()); | |
| 509 #endif | |
| 510 } | |
| 511 | |
| 512 WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event) { | 464 WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event) { |
| 513 if (const WebKeyboardEvent* webEvent = event.keyEvent()) { | 465 if (const WebKeyboardEvent* webEvent = event.keyEvent()) { |
| 514 *static_cast<WebKeyboardEvent*>(this) = *webEvent; | 466 *static_cast<WebKeyboardEvent*>(this) = *webEvent; |
| 515 | 467 |
| 516 // TODO(dtapuska): DOM KeyboardEvents converted back to WebInputEvents | 468 // TODO(dtapuska): DOM KeyboardEvents converted back to WebInputEvents |
| 517 // drop the Raw behaviour. Figure out if this is actually really needed. | 469 // drop the Raw behaviour. Figure out if this is actually really needed. |
| 518 if (type == RawKeyDown) | 470 if (type == RawKeyDown) |
| 519 type = KeyDown; | 471 type = KeyDown; |
| 520 return; | 472 return; |
| 521 } | 473 } |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 645 Vector<PlatformTouchEvent> result; | 597 Vector<PlatformTouchEvent> result; |
| 646 for (const auto& event : coalescedEvents) { | 598 for (const auto& event : coalescedEvents) { |
| 647 DCHECK(WebInputEvent::isTouchEventType(event->type)); | 599 DCHECK(WebInputEvent::isTouchEventType(event->type)); |
| 648 result.append(PlatformTouchEventBuilder( | 600 result.append(PlatformTouchEventBuilder( |
| 649 widget, static_cast<const WebTouchEvent&>(*event))); | 601 widget, static_cast<const WebTouchEvent&>(*event))); |
| 650 } | 602 } |
| 651 return result; | 603 return result; |
| 652 } | 604 } |
| 653 | 605 |
| 654 } // namespace blink | 606 } // namespace blink |
| OLD | NEW |