OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/input/PointerEventManager.h" | 5 #include "core/input/PointerEventManager.h" |
6 | 6 |
7 #include "core/dom/DocumentUserGestureToken.h" | |
7 #include "core/dom/ElementTraversal.h" | 8 #include "core/dom/ElementTraversal.h" |
8 #include "core/dom/shadow/FlatTreeTraversal.h" | 9 #include "core/dom/shadow/FlatTreeTraversal.h" |
9 #include "core/events/MouseEvent.h" | 10 #include "core/events/MouseEvent.h" |
10 #include "core/frame/FrameView.h" | 11 #include "core/frame/FrameView.h" |
11 #include "core/frame/UseCounter.h" | 12 #include "core/frame/UseCounter.h" |
12 #include "core/html/HTMLCanvasElement.h" | 13 #include "core/html/HTMLCanvasElement.h" |
13 #include "core/input/EventHandler.h" | 14 #include "core/input/EventHandler.h" |
14 #include "core/input/EventHandlingUtil.h" | 15 #include "core/input/EventHandlingUtil.h" |
15 #include "core/input/MouseEventManager.h" | 16 #include "core/input/MouseEventManager.h" |
16 #include "core/input/TouchActionUtil.h" | 17 #include "core/input/TouchActionUtil.h" |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
164 return WebInputEventResult::NotHandled; | 165 return WebInputEventResult::NotHandled; |
165 if (!checkForListener || target->hasEventListeners(eventType)) { | 166 if (!checkForListener || target->hasEventListeners(eventType)) { |
166 UseCounter::count(m_frame->document(), UseCounter::PointerEventDispatch); | 167 UseCounter::count(m_frame->document(), UseCounter::PointerEventDispatch); |
167 if (eventType == EventTypeNames::pointerdown) | 168 if (eventType == EventTypeNames::pointerdown) |
168 UseCounter::count(m_frame->document(), | 169 UseCounter::count(m_frame->document(), |
169 UseCounter::PointerEventDispatchPointerDown); | 170 UseCounter::PointerEventDispatchPointerDown); |
170 | 171 |
171 std::unique_ptr<UserGestureIndicator> gestureIndicator; | 172 std::unique_ptr<UserGestureIndicator> gestureIndicator; |
172 if (eventType == EventTypeNames::pointerup && | 173 if (eventType == EventTypeNames::pointerup && |
173 pointerEvent->pointerType() == "touch") { | 174 pointerEvent->pointerType() == "touch") { |
174 gestureIndicator = | 175 gestureIndicator = wrapUnique(new UserGestureIndicator( |
175 wrapUnique(new UserGestureIndicator(UserGestureToken::create())); | 176 DocumentUserGestureToken::create(m_frame->document()))); |
Rick Byers
2016/10/17 17:02:46
I'm not positive what m_frame refers to here in al
Navid Zolghadr
2016/10/17 17:18:05
Unfortunately that is the case for touch events. m
Nate Chapin
2016/10/18 23:26:33
Done. It's safe to assume that the EventTarget is
Rick Byers
2016/10/24 18:30:46
I don't think so - I believe there are rare scenar
Nate Chapin
2016/10/24 18:45:18
SG, added a null check.
| |
176 } | 177 } |
177 | 178 |
178 DispatchEventResult dispatchResult = target->dispatchEvent(pointerEvent); | 179 DispatchEventResult dispatchResult = target->dispatchEvent(pointerEvent); |
179 return EventHandlingUtil::toWebInputEventResult(dispatchResult); | 180 return EventHandlingUtil::toWebInputEventResult(dispatchResult); |
180 } | 181 } |
181 return WebInputEventResult::NotHandled; | 182 return WebInputEventResult::NotHandled; |
182 } | 183 } |
183 | 184 |
184 EventTarget* PointerEventManager::getEffectiveTargetForPointerEvent( | 185 EventTarget* PointerEventManager::getEffectiveTargetForPointerEvent( |
185 EventTarget* target, | 186 EventTarget* target, |
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
680 return true; | 681 return true; |
681 } | 682 } |
682 return false; | 683 return false; |
683 } | 684 } |
684 | 685 |
685 EventTarget* PointerEventManager::getMouseCapturingNode() { | 686 EventTarget* PointerEventManager::getMouseCapturingNode() { |
686 return getCapturingNode(PointerEventFactory::s_mouseId); | 687 return getCapturingNode(PointerEventFactory::s_mouseId); |
687 } | 688 } |
688 | 689 |
689 } // namespace blink | 690 } // namespace blink |
OLD | NEW |