OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2008, The Android Open Source Project | 2 * Copyright 2008, The Android Open Source Project |
3 * Copyright (C) 2012 Research In Motion Limited. All rights reserved. | 3 * Copyright (C) 2012 Research In Motion Limited. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above copyright | 10 * * Redistributions in binary form must reproduce the above copyright |
(...skipping 11 matching lines...) Expand all Loading... | |
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
25 */ | 25 */ |
26 | 26 |
27 #include "config.h" | 27 #include "config.h" |
28 | 28 |
29 #include "core/events/TouchEvent.h" | 29 #include "core/events/TouchEvent.h" |
30 | 30 |
31 #include "core/events/EventDispatcher.h" | 31 #include "core/events/EventDispatcher.h" |
32 #include "core/frame/FrameConsole.h" | |
33 #include "core/frame/LocalFrame.h" | |
32 | 34 |
33 namespace WebCore { | 35 namespace WebCore { |
34 | 36 |
35 TouchEvent::TouchEvent() | 37 TouchEvent::TouchEvent() |
36 { | 38 { |
37 ScriptWrappable::init(this); | 39 ScriptWrappable::init(this); |
38 } | 40 } |
39 | 41 |
40 TouchEvent::TouchEvent(TouchList* touches, TouchList* targetTouches, | 42 TouchEvent::TouchEvent(TouchList* touches, TouchList* targetTouches, |
41 TouchList* changedTouches, const AtomicString& type, | 43 TouchList* changedTouches, const AtomicString& type, |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
84 const AtomicString& TouchEvent::interfaceName() const | 86 const AtomicString& TouchEvent::interfaceName() const |
85 { | 87 { |
86 return EventNames::TouchEvent; | 88 return EventNames::TouchEvent; |
87 } | 89 } |
88 | 90 |
89 bool TouchEvent::isTouchEvent() const | 91 bool TouchEvent::isTouchEvent() const |
90 { | 92 { |
91 return true; | 93 return true; |
92 } | 94 } |
93 | 95 |
96 void TouchEvent::preventDefault() | |
97 { | |
98 MouseRelatedEvent::preventDefault(); | |
99 | |
100 if (!cancelable()) { | |
pfeldman
2014/05/07 15:36:21
Blink's recommendation is to stack guard expressio
| |
101 LocalFrame* frame = view() ? view()->frame() : 0; | |
102 if (frame) { | |
103 frame->console().addMessage(JSMessageSource, WarningMessageLevel, | |
104 "Ignored attempt to cancel a " + type() + " event with cancelabl e=false, for example because scrolling is in progress and cannot be interrupted. "); | |
105 } | |
106 } | |
107 } | |
94 void TouchEvent::trace(Visitor* visitor) | 108 void TouchEvent::trace(Visitor* visitor) |
95 { | 109 { |
96 visitor->trace(m_touches); | 110 visitor->trace(m_touches); |
97 visitor->trace(m_targetTouches); | 111 visitor->trace(m_targetTouches); |
98 visitor->trace(m_changedTouches); | 112 visitor->trace(m_changedTouches); |
99 MouseRelatedEvent::trace(visitor); | 113 MouseRelatedEvent::trace(visitor); |
100 } | 114 } |
101 | 115 |
102 PassRefPtr<TouchEventDispatchMediator> TouchEventDispatchMediator::create(PassRe fPtrWillBeRawPtr<TouchEvent> touchEvent) | 116 PassRefPtr<TouchEventDispatchMediator> TouchEventDispatchMediator::create(PassRe fPtrWillBeRawPtr<TouchEvent> touchEvent) |
103 { | 117 { |
(...skipping 10 matching lines...) Expand all Loading... | |
114 return toTouchEvent(EventDispatchMediator::event()); | 128 return toTouchEvent(EventDispatchMediator::event()); |
115 } | 129 } |
116 | 130 |
117 bool TouchEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) cons t | 131 bool TouchEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) cons t |
118 { | 132 { |
119 event()->eventPath().adjustForTouchEvent(dispatcher->node(), *event()); | 133 event()->eventPath().adjustForTouchEvent(dispatcher->node(), *event()); |
120 return dispatcher->dispatch(); | 134 return dispatcher->dispatch(); |
121 } | 135 } |
122 | 136 |
123 } // namespace WebCore | 137 } // namespace WebCore |
OLD | NEW |