| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "core/events/PointerEvent.h" | 5 #include "core/events/PointerEvent.h" |
| 6 | 6 |
| 7 #include "core/dom/Element.h" | 7 #include "core/dom/Element.h" |
| 8 #include "core/events/EventDispatcher.h" | 8 #include "core/events/EventDispatcher.h" |
| 9 | 9 |
| 10 namespace blink { | 10 namespace blink { |
| 11 | 11 |
| 12 PointerEvent::PointerEvent(const AtomicString& type, | 12 PointerEvent::PointerEvent(const AtomicString& type, |
| 13 const PointerEventInit& initializer) | 13 const PointerEventInit& initializer) |
| 14 : PointerEvent(type, initializer, true) { |
| 15 if (initializer.hasCoalescedEventInits()) { |
| 16 for (auto coalescedEventInit : initializer.coalescedEventInits()) { |
| 17 m_coalescedEvents.append( |
| 18 new PointerEvent(type, coalescedEventInit, true)); |
| 19 } |
| 20 } |
| 21 } |
| 22 |
| 23 PointerEvent::PointerEvent(const AtomicString& type, |
| 24 const PointerEventInit& initializer, |
| 25 bool) |
| 14 : MouseEvent(type, initializer), | 26 : MouseEvent(type, initializer), |
| 15 m_pointerId(0), | 27 m_pointerId(0), |
| 16 m_width(0), | 28 m_width(0), |
| 17 m_height(0), | 29 m_height(0), |
| 18 m_pressure(0), | 30 m_pressure(0), |
| 19 m_tiltX(0), | 31 m_tiltX(0), |
| 20 m_tiltY(0), | 32 m_tiltY(0), |
| 21 m_isPrimary(false) { | 33 m_isPrimary(false) { |
| 22 if (initializer.hasPointerId()) | 34 if (initializer.hasPointerId()) |
| 23 m_pointerId = initializer.pointerId(); | 35 m_pointerId = initializer.pointerId(); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 42 } | 54 } |
| 43 | 55 |
| 44 bool PointerEvent::isPointerEvent() const { | 56 bool PointerEvent::isPointerEvent() const { |
| 45 return true; | 57 return true; |
| 46 } | 58 } |
| 47 | 59 |
| 48 EventDispatchMediator* PointerEvent::createMediator() { | 60 EventDispatchMediator* PointerEvent::createMediator() { |
| 49 return PointerEventDispatchMediator::create(this); | 61 return PointerEventDispatchMediator::create(this); |
| 50 } | 62 } |
| 51 | 63 |
| 64 HeapVector<Member<PointerEvent>> PointerEvent::getCoalescedEvents() const { |
| 65 return m_coalescedEvents; |
| 66 } |
| 67 |
| 52 DEFINE_TRACE(PointerEvent) { | 68 DEFINE_TRACE(PointerEvent) { |
| 69 visitor->trace(m_coalescedEvents); |
| 53 MouseEvent::trace(visitor); | 70 MouseEvent::trace(visitor); |
| 54 } | 71 } |
| 55 | 72 |
| 56 PointerEventDispatchMediator* PointerEventDispatchMediator::create( | 73 PointerEventDispatchMediator* PointerEventDispatchMediator::create( |
| 57 PointerEvent* pointerEvent) { | 74 PointerEvent* pointerEvent) { |
| 58 return new PointerEventDispatchMediator(pointerEvent); | 75 return new PointerEventDispatchMediator(pointerEvent); |
| 59 } | 76 } |
| 60 | 77 |
| 61 PointerEventDispatchMediator::PointerEventDispatchMediator( | 78 PointerEventDispatchMediator::PointerEventDispatchMediator( |
| 62 PointerEvent* pointerEvent) | 79 PointerEvent* pointerEvent) |
| (...skipping 13 matching lines...) Expand all Loading... |
| 76 | 93 |
| 77 DCHECK(!event().target() || event().target() != event().relatedTarget()); | 94 DCHECK(!event().target() || event().target() != event().relatedTarget()); |
| 78 | 95 |
| 79 event().eventPath().adjustForRelatedTarget(dispatcher.node(), | 96 event().eventPath().adjustForRelatedTarget(dispatcher.node(), |
| 80 event().relatedTarget()); | 97 event().relatedTarget()); |
| 81 | 98 |
| 82 return dispatcher.dispatch(); | 99 return dispatcher.dispatch(); |
| 83 } | 100 } |
| 84 | 101 |
| 85 } // namespace blink | 102 } // namespace blink |
| OLD | NEW |