| 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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 webEvent.setTimeStampSeconds(event.platformTimeStamp().InSeconds()); | 102 webEvent.setTimeStampSeconds(event.platformTimeStamp().InSeconds()); |
| 103 webEvent.setModifiers(event.modifiers()); | 103 webEvent.setModifiers(event.modifiers()); |
| 104 | 104 |
| 105 FrameView* view = frameViewBase ? toFrameView(frameViewBase->parent()) : 0; | 105 FrameView* view = frameViewBase ? toFrameView(frameViewBase->parent()) : 0; |
| 106 // TODO(bokan): If view == nullptr, pointInRootFrame will really be | 106 // TODO(bokan): If view == nullptr, pointInRootFrame will really be |
| 107 // pointInRootContent. | 107 // pointInRootContent. |
| 108 IntPoint pointInRootFrame(event.absoluteLocation().x(), | 108 IntPoint pointInRootFrame(event.absoluteLocation().x(), |
| 109 event.absoluteLocation().y()); | 109 event.absoluteLocation().y()); |
| 110 if (view) | 110 if (view) |
| 111 pointInRootFrame = view->contentsToRootFrame(pointInRootFrame); | 111 pointInRootFrame = view->contentsToRootFrame(pointInRootFrame); |
| 112 webEvent.globalX = event.screenX(); | 112 webEvent.screenPosition.x = event.screenX(); |
| 113 webEvent.globalY = event.screenY(); | 113 webEvent.screenPosition.y = event.screenY(); |
| 114 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( | 114 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( |
| 115 event.absoluteLocation(), layoutItem); | 115 event.absoluteLocation(), layoutItem); |
| 116 webEvent.x = localPoint.x(); | 116 webEvent.position.x = localPoint.x(); |
| 117 webEvent.y = localPoint.y(); | 117 webEvent.position.y = localPoint.y(); |
| 118 } | 118 } |
| 119 | 119 |
| 120 unsigned toWebInputEventModifierFrom(WebMouseEvent::Button button) { | 120 unsigned toWebInputEventModifierFrom(WebMouseEvent::Button button) { |
| 121 if (button == WebMouseEvent::Button::NoButton) | 121 if (button == WebMouseEvent::Button::NoButton) |
| 122 return 0; | 122 return 0; |
| 123 | 123 |
| 124 unsigned webMouseButtonToPlatformModifier[] = { | 124 unsigned webMouseButtonToPlatformModifier[] = { |
| 125 WebInputEvent::LeftButtonDown, WebInputEvent::MiddleButtonDown, | 125 WebInputEvent::LeftButtonDown, WebInputEvent::MiddleButtonDown, |
| 126 WebInputEvent::RightButtonDown}; | 126 WebInputEvent::RightButtonDown}; |
| 127 | 127 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 | 191 |
| 192 WebMouseEventBuilder::WebMouseEventBuilder(const FrameViewBase* frameViewBase, | 192 WebMouseEventBuilder::WebMouseEventBuilder(const FrameViewBase* frameViewBase, |
| 193 const LayoutItem layoutItem, | 193 const LayoutItem layoutItem, |
| 194 const MouseEvent& event) { | 194 const MouseEvent& event) { |
| 195 if (event.nativeEvent()) { | 195 if (event.nativeEvent()) { |
| 196 *static_cast<WebMouseEvent*>(this) = | 196 *static_cast<WebMouseEvent*>(this) = |
| 197 event.nativeEvent()->flattenTransform(); | 197 event.nativeEvent()->flattenTransform(); |
| 198 WebFloatPoint absoluteRootFrameLocation = positionInRootFrame(); | 198 WebFloatPoint absoluteRootFrameLocation = positionInRootFrame(); |
| 199 IntPoint localPoint = roundedIntPoint( | 199 IntPoint localPoint = roundedIntPoint( |
| 200 layoutItem.absoluteToLocal(absoluteRootFrameLocation, UseTransforms)); | 200 layoutItem.absoluteToLocal(absoluteRootFrameLocation, UseTransforms)); |
| 201 x = localPoint.x(); | 201 position.x = localPoint.x(); |
| 202 y = localPoint.y(); | 202 position.y = localPoint.y(); |
| 203 return; | 203 return; |
| 204 } | 204 } |
| 205 | 205 |
| 206 // Code below here can be removed once OOPIF ships. | 206 // Code below here can be removed once OOPIF ships. |
| 207 // OOPIF will prevent synthetic events being dispatched into | 207 // OOPIF will prevent synthetic events being dispatched into |
| 208 // other frames; but for now we allow the fallback to generate | 208 // other frames; but for now we allow the fallback to generate |
| 209 // WebMouseEvents from synthetic events. | 209 // WebMouseEvents from synthetic events. |
| 210 if (event.type() == EventTypeNames::mousemove) | 210 if (event.type() == EventTypeNames::mousemove) |
| 211 m_type = WebInputEvent::MouseMove; | 211 m_type = WebInputEvent::MouseMove; |
| 212 else if (event.type() == EventTypeNames::mouseout) | 212 else if (event.type() == EventTypeNames::mouseout) |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 | 295 |
| 296 // The mouse event co-ordinates should be generated from the co-ordinates of | 296 // The mouse event co-ordinates should be generated from the co-ordinates of |
| 297 // the touch point. | 297 // the touch point. |
| 298 FrameView* view = toFrameView(frameViewBase->parent()); | 298 FrameView* view = toFrameView(frameViewBase->parent()); |
| 299 // FIXME: if view == nullptr, pointInRootFrame will really be | 299 // FIXME: if view == nullptr, pointInRootFrame will really be |
| 300 // pointInRootContent. | 300 // pointInRootContent. |
| 301 IntPoint pointInRootFrame = roundedIntPoint(touch->absoluteLocation()); | 301 IntPoint pointInRootFrame = roundedIntPoint(touch->absoluteLocation()); |
| 302 if (view) | 302 if (view) |
| 303 pointInRootFrame = view->contentsToRootFrame(pointInRootFrame); | 303 pointInRootFrame = view->contentsToRootFrame(pointInRootFrame); |
| 304 IntPoint screenPoint = roundedIntPoint(touch->screenLocation()); | 304 IntPoint screenPoint = roundedIntPoint(touch->screenLocation()); |
| 305 globalX = screenPoint.x(); | 305 screenPosition.x = screenPoint.x(); |
| 306 globalY = screenPoint.y(); | 306 screenPosition.y = screenPoint.y(); |
| 307 | 307 |
| 308 button = WebMouseEvent::Button::Left; | 308 button = WebMouseEvent::Button::Left; |
| 309 m_modifiers |= WebInputEvent::LeftButtonDown; | 309 m_modifiers |= WebInputEvent::LeftButtonDown; |
| 310 clickCount = (m_type == MouseDown || m_type == MouseUp); | 310 clickCount = (m_type == MouseDown || m_type == MouseUp); |
| 311 | 311 |
| 312 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( | 312 IntPoint localPoint = convertAbsoluteLocationForLayoutObjectInt( |
| 313 DoublePoint(touch->absoluteLocation()), layoutItem); | 313 DoublePoint(touch->absoluteLocation()), layoutItem); |
| 314 x = localPoint.x(); | 314 position.x = localPoint.x(); |
| 315 y = localPoint.y(); | 315 position.y = localPoint.y(); |
| 316 | 316 |
| 317 pointerType = WebPointerProperties::PointerType::Touch; | 317 pointerType = WebPointerProperties::PointerType::Touch; |
| 318 } | 318 } |
| 319 | 319 |
| 320 WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event) { | 320 WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event) { |
| 321 if (const WebKeyboardEvent* webEvent = event.keyEvent()) { | 321 if (const WebKeyboardEvent* webEvent = event.keyEvent()) { |
| 322 *static_cast<WebKeyboardEvent*>(this) = *webEvent; | 322 *static_cast<WebKeyboardEvent*>(this) = *webEvent; |
| 323 | 323 |
| 324 // TODO(dtapuska): DOM KeyboardEvents converted back to WebInputEvents | 324 // TODO(dtapuska): DOM KeyboardEvents converted back to WebInputEvents |
| 325 // drop the Raw behaviour. Figure out if this is actually really needed. | 325 // drop the Raw behaviour. Figure out if this is actually really needed. |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 Vector<WebTouchEvent> result; | 362 Vector<WebTouchEvent> result; |
| 363 for (const auto& event : coalescedEvents) { | 363 for (const auto& event : coalescedEvents) { |
| 364 DCHECK(WebInputEvent::isTouchEventType(event->type())); | 364 DCHECK(WebInputEvent::isTouchEventType(event->type())); |
| 365 result.push_back(TransformWebTouchEvent( | 365 result.push_back(TransformWebTouchEvent( |
| 366 scale, translation, static_cast<const WebTouchEvent&>(*event))); | 366 scale, translation, static_cast<const WebTouchEvent&>(*event))); |
| 367 } | 367 } |
| 368 return result; | 368 return result; |
| 369 } | 369 } |
| 370 | 370 |
| 371 } // namespace blink | 371 } // namespace blink |
| OLD | NEW |