| Index: ui/events/event.cc
|
| diff --git a/ui/events/event.cc b/ui/events/event.cc
|
| index 6e1228c82d83b171518e0e71b81ce9af67ec3a91..2e465cf6865afb2da6487851a0682b7bc8855672 100644
|
| --- a/ui/events/event.cc
|
| +++ b/ui/events/event.cc
|
| @@ -155,6 +155,11 @@ scoped_ptr<Event> Event::Clone(const Event& event) {
|
| new GestureEvent(static_cast<const GestureEvent&>(event)));
|
| }
|
|
|
| + if (event.IsPointerEvent()) {
|
| + return make_scoped_ptr(
|
| + new PointerEvent(static_cast<const PointerEvent&>(event)));
|
| + }
|
| +
|
| if (event.IsScrollEvent()) {
|
| return make_scoped_ptr(
|
| new ScrollEvent(static_cast<const ScrollEvent&>(event)));
|
| @@ -178,6 +183,16 @@ const GestureEvent* Event::AsGestureEvent() const {
|
| return static_cast<const GestureEvent*>(this);
|
| }
|
|
|
| +PointerEvent* Event::AsPointerEvent() {
|
| + CHECK(IsPointerEvent());
|
| + return static_cast<PointerEvent*>(this);
|
| +}
|
| +
|
| +const PointerEvent* Event::AsPointerEvent() const {
|
| + CHECK(IsPointerEvent());
|
| + return static_cast<const PointerEvent*>(this);
|
| +}
|
| +
|
| bool Event::HasNativeEvent() const {
|
| base::NativeEvent null_event;
|
| std::memset(&null_event, 0, sizeof(null_event));
|
| @@ -644,6 +659,11 @@ void TouchEvent::FixRotationAngle() {
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // PointerEvent
|
|
|
| +PointerEvent::PointerEvent(const PointerEvent& pointer_event)
|
| + : LocatedEvent(pointer_event),
|
| + pointer_id_(pointer_event.pointer_id()),
|
| + details_(pointer_event.pointer_details()) {}
|
| +
|
| PointerEvent::PointerEvent(const MouseEvent& mouse_event)
|
| : LocatedEvent(mouse_event),
|
| pointer_id_(kMousePointerId),
|
|
|