| Index: sky/engine/web/WebInputEventConversion.cpp
 | 
| diff --git a/sky/engine/web/WebInputEventConversion.cpp b/sky/engine/web/WebInputEventConversion.cpp
 | 
| index 77fd0d16fda8d9d08e04b9c82e120cbc5cd0548c..86167455df3eabe9e6ff1cc9b59f7cff5be8f8e2 100644
 | 
| --- a/sky/engine/web/WebInputEventConversion.cpp
 | 
| +++ b/sky/engine/web/WebInputEventConversion.cpp
 | 
| @@ -31,11 +31,8 @@
 | 
|  #include "sky/engine/config.h"
 | 
|  #include "sky/engine/web/WebInputEventConversion.h"
 | 
|  
 | 
| -#include "sky/engine/core/dom/Touch.h"
 | 
| -#include "sky/engine/core/dom/TouchList.h"
 | 
|  #include "sky/engine/core/events/GestureEvent.h"
 | 
|  #include "sky/engine/core/events/KeyboardEvent.h"
 | 
| -#include "sky/engine/core/events/TouchEvent.h"
 | 
|  #include "sky/engine/core/frame/FrameHost.h"
 | 
|  #include "sky/engine/core/frame/FrameView.h"
 | 
|  #include "sky/engine/core/page/Page.h"
 | 
| @@ -264,93 +261,6 @@ bool PlatformKeyboardEventBuilder::isCharacterKey() const
 | 
|      return true;
 | 
|  }
 | 
|  
 | 
| -inline PlatformEvent::Type toPlatformTouchEventType(const WebInputEvent::Type type)
 | 
| -{
 | 
| -    switch (type) {
 | 
| -    case WebInputEvent::TouchStart:
 | 
| -        return PlatformEvent::TouchStart;
 | 
| -    case WebInputEvent::TouchMove:
 | 
| -        return PlatformEvent::TouchMove;
 | 
| -    case WebInputEvent::TouchEnd:
 | 
| -        return PlatformEvent::TouchEnd;
 | 
| -    case WebInputEvent::TouchCancel:
 | 
| -        return PlatformEvent::TouchCancel;
 | 
| -    default:
 | 
| -        ASSERT_NOT_REACHED();
 | 
| -    }
 | 
| -    return PlatformEvent::TouchStart;
 | 
| -}
 | 
| -
 | 
| -inline PlatformTouchPoint::State toPlatformTouchPointState(const WebTouchPoint::State state)
 | 
| -{
 | 
| -    switch (state) {
 | 
| -    case WebTouchPoint::StateReleased:
 | 
| -        return PlatformTouchPoint::TouchReleased;
 | 
| -    case WebTouchPoint::StatePressed:
 | 
| -        return PlatformTouchPoint::TouchPressed;
 | 
| -    case WebTouchPoint::StateMoved:
 | 
| -        return PlatformTouchPoint::TouchMoved;
 | 
| -    case WebTouchPoint::StateStationary:
 | 
| -        return PlatformTouchPoint::TouchStationary;
 | 
| -    case WebTouchPoint::StateCancelled:
 | 
| -        return PlatformTouchPoint::TouchCancelled;
 | 
| -    case WebTouchPoint::StateUndefined:
 | 
| -        ASSERT_NOT_REACHED();
 | 
| -    }
 | 
| -    return PlatformTouchPoint::TouchReleased;
 | 
| -}
 | 
| -
 | 
| -inline WebTouchPoint::State toWebTouchPointState(const AtomicString& type)
 | 
| -{
 | 
| -    if (type == EventTypeNames::touchend)
 | 
| -        return WebTouchPoint::StateReleased;
 | 
| -    if (type == EventTypeNames::touchcancel)
 | 
| -        return WebTouchPoint::StateCancelled;
 | 
| -    if (type == EventTypeNames::touchstart)
 | 
| -        return WebTouchPoint::StatePressed;
 | 
| -    if (type == EventTypeNames::touchmove)
 | 
| -        return WebTouchPoint::StateMoved;
 | 
| -    return WebTouchPoint::StateUndefined;
 | 
| -}
 | 
| -
 | 
| -PlatformTouchPointBuilder::PlatformTouchPointBuilder(Widget* widget, const WebTouchPoint& point)
 | 
| -{
 | 
| -    float scale = 1.0f / widgetInputEventsScaleFactor(widget);
 | 
| -    IntSize offset = widgetInputEventsOffset(widget);
 | 
| -    m_id = point.id;
 | 
| -    m_state = toPlatformTouchPointState(point.state);
 | 
| -    FloatPoint pos = (point.position - offset).scaledBy(scale);
 | 
| -    IntPoint flooredPoint = flooredIntPoint(pos);
 | 
| -    // This assumes convertFromContainingView does only translations, not scales.
 | 
| -    m_pos = widget->convertFromContainingView(flooredPoint) + (pos - flooredPoint);
 | 
| -    m_screenPos = FloatPoint(point.screenPosition.x, point.screenPosition.y);
 | 
| -    m_radius = FloatSize(point.radiusX, point.radiusY).scaledBy(scale);
 | 
| -    m_rotationAngle = point.rotationAngle;
 | 
| -    m_force = point.force;
 | 
| -}
 | 
| -
 | 
| -PlatformTouchEventBuilder::PlatformTouchEventBuilder(Widget* widget, const WebTouchEvent& event)
 | 
| -{
 | 
| -    m_type = toPlatformTouchEventType(event.type);
 | 
| -
 | 
| -    m_modifiers = 0;
 | 
| -    if (event.modifiers & WebInputEvent::ShiftKey)
 | 
| -        m_modifiers |= PlatformEvent::ShiftKey;
 | 
| -    if (event.modifiers & WebInputEvent::ControlKey)
 | 
| -        m_modifiers |= PlatformEvent::CtrlKey;
 | 
| -    if (event.modifiers & WebInputEvent::AltKey)
 | 
| -        m_modifiers |= PlatformEvent::AltKey;
 | 
| -    if (event.modifiers & WebInputEvent::MetaKey)
 | 
| -        m_modifiers |= PlatformEvent::MetaKey;
 | 
| -
 | 
| -    m_timestamp = event.timeStampSeconds;
 | 
| -
 | 
| -    for (unsigned i = 0; i < event.touchesLength; ++i)
 | 
| -        m_touchPoints.append(PlatformTouchPointBuilder(widget, event.touches[i]));
 | 
| -
 | 
| -    m_cancelable = event.cancelable;
 | 
| -}
 | 
| -
 | 
|  static int getWebInputModifiers(const UIEventWithKeyState& event)
 | 
|  {
 | 
|      int modifiers = 0;
 | 
| @@ -459,52 +369,6 @@ WebKeyboardEventBuilder::WebKeyboardEventBuilder(const PlatformKeyboardEvent& ev
 | 
|      memcpy(keyIdentifier, event.keyIdentifier().ascii().data(), std::min(static_cast<unsigned>(keyIdentifierLengthCap), event.keyIdentifier().length()));
 | 
|  }
 | 
|  
 | 
| -static void addTouchPoints(const Widget* widget, const AtomicString& touchType, TouchList* touches, WebTouchPoint* touchPoints, unsigned* touchPointsLength, const RenderObject* renderObject)
 | 
| -{
 | 
| -    unsigned numberOfTouches = std::min(touches->length(), static_cast<unsigned>(WebTouchEvent::touchesLengthCap));
 | 
| -    for (unsigned i = 0; i < numberOfTouches; ++i) {
 | 
| -        const Touch* touch = touches->item(i);
 | 
| -
 | 
| -        WebTouchPoint point;
 | 
| -        point.id = touch->identifier();
 | 
| -        point.screenPosition = touch->screenLocation();
 | 
| -        point.position = convertAbsoluteLocationForRenderObjectFloat(touch->absoluteLocation(), *renderObject);
 | 
| -        point.radiusX = touch->radiusX();
 | 
| -        point.radiusY = touch->radiusY();
 | 
| -        point.rotationAngle = touch->rotationAngle();
 | 
| -        point.force = touch->force();
 | 
| -        point.state = toWebTouchPointState(touchType);
 | 
| -
 | 
| -        touchPoints[i] = point;
 | 
| -    }
 | 
| -    *touchPointsLength = numberOfTouches;
 | 
| -}
 | 
| -
 | 
| -WebTouchEventBuilder::WebTouchEventBuilder(const Widget* widget, const RenderObject* renderObject, const TouchEvent& event)
 | 
| -{
 | 
| -    if (event.type() == EventTypeNames::touchstart)
 | 
| -        type = TouchStart;
 | 
| -    else if (event.type() == EventTypeNames::touchmove)
 | 
| -        type = TouchMove;
 | 
| -    else if (event.type() == EventTypeNames::touchend)
 | 
| -        type = TouchEnd;
 | 
| -    else if (event.type() == EventTypeNames::touchcancel)
 | 
| -        type = TouchCancel;
 | 
| -    else {
 | 
| -        ASSERT_NOT_REACHED();
 | 
| -        type = Undefined;
 | 
| -        return;
 | 
| -    }
 | 
| -
 | 
| -    modifiers = getWebInputModifiers(event);
 | 
| -    timeStampSeconds = event.timeStamp() / millisPerSecond;
 | 
| -    cancelable = event.cancelable();
 | 
| -
 | 
| -    addTouchPoints(widget, event.type(), event.touches(), touches, &touchesLength, renderObject);
 | 
| -    addTouchPoints(widget, event.type(), event.changedTouches(), changedTouches, &changedTouchesLength, renderObject);
 | 
| -    addTouchPoints(widget, event.type(), event.targetTouches(), targetTouches, &targetTouchesLength, renderObject);
 | 
| -}
 | 
| -
 | 
|  WebGestureEventBuilder::WebGestureEventBuilder(const Widget* widget, const RenderObject* renderObject, const GestureEvent& event)
 | 
|  {
 | 
|      if (event.type() == EventTypeNames::gestureshowpress)
 | 
| 
 |