| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2001 Peter Kelly (pmk@post.com) | 2 * Copyright (C) 2001 Peter Kelly (pmk@post.com) |
| 3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) | 3 * Copyright (C) 2001 Tobias Anton (anton@stud.fbi.fh-darmstadt.de) |
| 4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 4 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 5 * Copyright (C) 2003, 2005, 2006, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003, 2005, 2006, 2008 Apple Inc. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| 11 * | 11 * |
| 12 * This library is distributed in the hope that it will be useful, | 12 * This library is distributed in the hope that it will be useful, |
| 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 15 * Library General Public License for more details. | 15 * Library General Public License for more details. |
| 16 * | 16 * |
| 17 * You should have received a copy of the GNU Library General Public License | 17 * You should have received a copy of the GNU Library General Public License |
| 18 * along with this library; see the file COPYING.LIB. If not, write to | 18 * along with this library; see the file COPYING.LIB. If not, write to |
| 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 20 * Boston, MA 02110-1301, USA. | 20 * Boston, MA 02110-1301, USA. |
| 21 */ | 21 */ |
| 22 | 22 |
| 23 #include "core/events/UIEvent.h" | 23 #include "core/events/UIEvent.h" |
| 24 | 24 |
| 25 #include "core/input/InputDeviceCapabilities.h" | |
| 26 | |
| 27 namespace blink { | 25 namespace blink { |
| 28 | 26 |
| 29 UIEvent::UIEvent() : m_detail(0), m_sourceCapabilities(nullptr) {} | 27 UIEvent::UIEvent() : m_detail(0), m_sourceCapabilities(nullptr) {} |
| 30 | 28 |
| 31 UIEvent::UIEvent(const AtomicString& eventType, | 29 UIEvent::UIEvent(const AtomicString& eventType, |
| 32 bool canBubbleArg, | 30 bool canBubbleArg, |
| 33 bool cancelableArg, | 31 bool cancelableArg, |
| 34 ComposedMode composedMode, | 32 ComposedMode composedMode, |
| 35 TimeTicks platformTimeStamp, | 33 TimeTicks platformTimeStamp, |
| 36 AbstractView* viewArg, | 34 AbstractView* viewArg, |
| 37 int detailArg, | 35 int detailArg, |
| 38 InputDeviceCapabilities* sourceCapabilitiesArg) | 36 const InputDeviceCapabilitiesValue& sourceCapabilitiesArg) |
| 39 : Event(eventType, | 37 : Event(eventType, |
| 40 canBubbleArg, | 38 canBubbleArg, |
| 41 cancelableArg, | 39 cancelableArg, |
| 42 composedMode, | 40 composedMode, |
| 43 platformTimeStamp), | 41 platformTimeStamp), |
| 44 m_view(viewArg), | 42 m_view(viewArg), |
| 45 m_detail(detailArg), | 43 m_detail(detailArg), |
| 46 m_sourceCapabilities(sourceCapabilitiesArg) {} | 44 m_sourceCapabilities(sourceCapabilitiesArg) {} |
| 47 | 45 |
| 48 UIEvent::UIEvent(const AtomicString& eventType, const UIEventInit& initializer) | 46 UIEvent::UIEvent(const AtomicString& eventType, const UIEventInit& initializer) |
| 49 : Event(eventType, initializer), | 47 : Event(eventType, initializer), |
| 50 m_view(initializer.view()), | 48 m_view(initializer.view()), |
| 51 m_detail(initializer.detail()), | 49 m_detail(initializer.detail()), |
| 52 m_sourceCapabilities(initializer.sourceCapabilities()) {} | 50 m_sourceCapabilities(initializer.sourceCapabilities()) {} |
| 53 | 51 |
| 54 UIEvent::~UIEvent() {} | 52 UIEvent::~UIEvent() {} |
| 55 | 53 |
| 56 void UIEvent::initUIEvent(const AtomicString& typeArg, | 54 void UIEvent::initUIEvent(const AtomicString& typeArg, |
| 57 bool canBubbleArg, | 55 bool canBubbleArg, |
| 58 bool cancelableArg, | 56 bool cancelableArg, |
| 59 AbstractView* viewArg, | 57 AbstractView* viewArg, |
| 60 int detailArg) { | 58 int detailArg) { |
| 61 initUIEventInternal(typeArg, canBubbleArg, cancelableArg, nullptr, viewArg, | 59 initUIEventInternal(typeArg, canBubbleArg, cancelableArg, nullptr, viewArg, |
| 62 detailArg, nullptr); | 60 detailArg, InputDeviceCapabilities::Null); |
| 63 } | 61 } |
| 64 | 62 |
| 65 void UIEvent::initUIEventInternal( | 63 void UIEvent::initUIEventInternal( |
| 66 const AtomicString& typeArg, | 64 const AtomicString& typeArg, |
| 67 bool canBubbleArg, | 65 bool canBubbleArg, |
| 68 bool cancelableArg, | 66 bool cancelableArg, |
| 69 EventTarget* relatedTarget, | 67 EventTarget* relatedTarget, |
| 70 AbstractView* viewArg, | 68 AbstractView* viewArg, |
| 71 int detailArg, | 69 int detailArg, |
| 72 InputDeviceCapabilities* sourceCapabilitiesArg) { | 70 const InputDeviceCapabilitiesValue& sourceCapabilitiesArg) { |
| 73 if (isBeingDispatched()) | 71 if (isBeingDispatched()) |
| 74 return; | 72 return; |
| 75 | 73 |
| 76 initEvent(typeArg, canBubbleArg, cancelableArg, relatedTarget); | 74 initEvent(typeArg, canBubbleArg, cancelableArg, relatedTarget); |
| 77 | 75 |
| 78 m_view = viewArg; | 76 m_view = viewArg; |
| 79 m_detail = detailArg; | 77 m_detail = detailArg; |
| 80 m_sourceCapabilities = sourceCapabilitiesArg; | 78 m_sourceCapabilities = sourceCapabilitiesArg; |
| 81 } | 79 } |
| 82 | 80 |
| 83 bool UIEvent::isUIEvent() const { | 81 bool UIEvent::isUIEvent() const { |
| 84 return true; | 82 return true; |
| 85 } | 83 } |
| 86 | 84 |
| 87 const AtomicString& UIEvent::interfaceName() const { | 85 const AtomicString& UIEvent::interfaceName() const { |
| 88 return EventNames::UIEvent; | 86 return EventNames::UIEvent; |
| 89 } | 87 } |
| 90 | 88 |
| 91 int UIEvent::which() const { | 89 int UIEvent::which() const { |
| 92 return 0; | 90 return 0; |
| 93 } | 91 } |
| 94 | 92 |
| 93 InputDeviceCapabilities* UIEvent::sourceCapabilities() { |
| 94 // TODO: align with what the spec decides for the scope of |
| 95 // |sourceCapabilities|. i.e., the returned instance may end up as being |
| 96 // unique per-UIEvent, not window. |
| 97 return m_sourceCapabilities.getCapabilities(m_view); |
| 98 } |
| 99 |
| 95 DEFINE_TRACE(UIEvent) { | 100 DEFINE_TRACE(UIEvent) { |
| 96 visitor->trace(m_view); | 101 visitor->trace(m_view); |
| 97 visitor->trace(m_sourceCapabilities); | 102 visitor->trace(m_sourceCapabilities); |
| 98 Event::trace(visitor); | 103 Event::trace(visitor); |
| 99 } | 104 } |
| 100 | 105 |
| 101 } // namespace blink | 106 } // namespace blink |
| OLD | NEW |