| 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 <stdint.h> |   7 #include <stdint.h> | 
|   8  |   8  | 
|   9 #include "content/browser/renderer_host/input/web_input_event_util.h" |   9 #include "content/browser/renderer_host/input/web_input_event_util.h" | 
|  10 #include "content/common/input/web_touch_event_traits.h" |  10 #include "content/common/input/web_touch_event_traits.h" | 
|  11 #include "third_party/WebKit/public/web/WebInputEvent.h" |  11 #include "third_party/WebKit/public/web/WebInputEvent.h" | 
 |  12 #include "ui/events/base_event_utils.h" | 
|  12 #include "ui/events/blink/blink_event_util.h" |  13 #include "ui/events/blink/blink_event_util.h" | 
|  13 #include "ui/events/event.h" |  14 #include "ui/events/event.h" | 
|  14 #include "ui/events/event_constants.h" |  15 #include "ui/events/event_constants.h" | 
|  15  |  16  | 
|  16 namespace { |  17 namespace { | 
|  17  |  18  | 
|  18 ui::EventType WebTouchPointStateToEventType( |  19 ui::EventType WebTouchPointStateToEventType( | 
|  19     blink::WebTouchPoint::State state) { |  20     blink::WebTouchPoint::State state) { | 
|  20   switch (state) { |  21   switch (state) { | 
|  21     case blink::WebTouchPoint::StateReleased: |  22     case blink::WebTouchPoint::StateReleased: | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  57       break; |  58       break; | 
|  58     case blink::WebInputEvent::TouchCancel: |  59     case blink::WebInputEvent::TouchCancel: | 
|  59       type = ui::ET_TOUCH_CANCELLED; |  60       type = ui::ET_TOUCH_CANCELLED; | 
|  60       break; |  61       break; | 
|  61     default: |  62     default: | 
|  62       NOTREACHED(); |  63       NOTREACHED(); | 
|  63       return false; |  64       return false; | 
|  64   } |  65   } | 
|  65  |  66  | 
|  66   int flags = WebEventModifiersToEventFlags(touch.modifiers); |  67   int flags = WebEventModifiersToEventFlags(touch.modifiers); | 
|  67   base::TimeDelta timestamp = base::TimeDelta::FromMicroseconds( |  68   base::TimeTicks timestamp = | 
|  68       static_cast<int64_t>(touch.timeStampSeconds * 1000000)); |  69       ui::EventTimeStampFromSeconds(touch.timeStampSeconds); | 
|  69   for (unsigned i = 0; i < touch.touchesLength; ++i) { |  70   for (unsigned i = 0; i < touch.touchesLength; ++i) { | 
|  70     const blink::WebTouchPoint& point = touch.touches[i]; |  71     const blink::WebTouchPoint& point = touch.touches[i]; | 
|  71     if (WebTouchPointStateToEventType(point.state) != type) |  72     if (WebTouchPointStateToEventType(point.state) != type) | 
|  72       continue; |  73       continue; | 
|  73     // ui events start in the co-ordinate space of the EventDispatcher. |  74     // ui events start in the co-ordinate space of the EventDispatcher. | 
|  74     gfx::PointF location; |  75     gfx::PointF location; | 
|  75     if (coordinate_system == LOCAL_COORDINATES) |  76     if (coordinate_system == LOCAL_COORDINATES) | 
|  76       location = point.position; |  77       location = point.position; | 
|  77     else |  78     else | 
|  78       location = point.screenPosition; |  79       location = point.screenPosition; | 
|  79     ui::TouchEvent* uievent = new ui::TouchEvent( |  80     ui::TouchEvent* uievent = new ui::TouchEvent( | 
|  80         type, gfx::Point(), flags, point.id, timestamp, point.radiusX, |  81         type, gfx::Point(), flags, point.id, timestamp, point.radiusX, | 
|  81         point.radiusY, point.rotationAngle, point.force); |  82         point.radiusY, point.rotationAngle, point.force); | 
|  82     uievent->set_location_f(location); |  83     uievent->set_location_f(location); | 
|  83     uievent->set_root_location_f(location); |  84     uievent->set_root_location_f(location); | 
|  84     uievent->set_latency(touch_with_latency.latency); |  85     uievent->set_latency(touch_with_latency.latency); | 
|  85     list->push_back(uievent); |  86     list->push_back(uievent); | 
|  86   } |  87   } | 
|  87   return true; |  88   return true; | 
|  88 } |  89 } | 
|  89  |  90  | 
|  90 blink::WebGestureEvent MakeWebGestureEventFromUIEvent( |  91 blink::WebGestureEvent MakeWebGestureEventFromUIEvent( | 
|  91     const ui::GestureEvent& event) { |  92     const ui::GestureEvent& event) { | 
|  92   return ui::CreateWebGestureEvent(event.details(), event.time_stamp(), |  93   return ui::CreateWebGestureEvent(event.details(), event.time_stamp(), | 
|  93                                    event.location_f(), event.root_location_f(), |  94                                    event.location_f(), event.root_location_f(), | 
|  94                                    event.flags()); |  95                                    event.flags()); | 
|  95 } |  96 } | 
|  96  |  97  | 
|  97 }  // namespace content |  98 }  // namespace content | 
| OLD | NEW |