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/DragEvent.h" | 5 #include "core/events/DragEvent.h" |
6 | 6 |
7 #include "core/clipboard/DataTransfer.h" | 7 #include "core/clipboard/DataTransfer.h" |
8 #include "core/dom/Element.h" | 8 #include "core/dom/Element.h" |
9 #include "core/events/EventDispatcher.h" | 9 #include "core/events/EventDispatcher.h" |
10 | 10 |
11 namespace blink { | 11 namespace blink { |
12 | 12 |
13 DragEvent* DragEvent::create( | 13 DragEvent* DragEvent::create(const AtomicString& type, |
14 const AtomicString& type, | 14 bool canBubble, |
15 bool canBubble, | 15 bool cancelable, |
16 bool cancelable, | 16 AbstractView* view, |
17 AbstractView* view, | 17 int detail, |
18 int detail, | 18 int screenX, |
19 int screenX, | 19 int screenY, |
20 int screenY, | 20 int windowX, |
21 int windowX, | 21 int windowY, |
22 int windowY, | 22 int movementX, |
23 int movementX, | 23 int movementY, |
24 int movementY, | 24 PlatformEvent::Modifiers modifiers, |
25 PlatformEvent::Modifiers modifiers, | 25 short button, |
26 short button, | 26 unsigned short buttons, |
27 unsigned short buttons, | 27 EventTarget* relatedTarget, |
28 EventTarget* relatedTarget, | 28 TimeTicks platformTimeStamp, |
29 TimeTicks platformTimeStamp, | 29 DataTransfer* dataTransfer, |
30 DataTransfer* dataTransfer, | 30 SyntheticEventType syntheticEventType) { |
31 PlatformMouseEvent::SyntheticEventType syntheticEventType) { | |
32 return new DragEvent(type, canBubble, cancelable, view, detail, screenX, | 31 return new DragEvent(type, canBubble, cancelable, view, detail, screenX, |
33 screenY, windowX, windowY, movementX, movementY, | 32 screenY, windowX, windowY, movementX, movementY, |
34 modifiers, button, buttons, relatedTarget, | 33 modifiers, button, buttons, relatedTarget, |
35 platformTimeStamp, dataTransfer, syntheticEventType); | 34 platformTimeStamp, dataTransfer, syntheticEventType); |
36 } | 35 } |
37 | 36 |
38 DragEvent::DragEvent() : m_dataTransfer(nullptr) {} | 37 DragEvent::DragEvent() : m_dataTransfer(nullptr) {} |
39 | 38 |
40 DragEvent::DragEvent(DataTransfer* dataTransfer) | 39 DragEvent::DragEvent(DataTransfer* dataTransfer) |
41 : m_dataTransfer(dataTransfer) {} | 40 : m_dataTransfer(dataTransfer) {} |
42 | 41 |
43 DragEvent::DragEvent(const AtomicString& eventType, | 42 DragEvent::DragEvent(const AtomicString& eventType, |
44 bool canBubble, | 43 bool canBubble, |
45 bool cancelable, | 44 bool cancelable, |
46 AbstractView* view, | 45 AbstractView* view, |
47 int detail, | 46 int detail, |
48 int screenX, | 47 int screenX, |
49 int screenY, | 48 int screenY, |
50 int windowX, | 49 int windowX, |
51 int windowY, | 50 int windowY, |
52 int movementX, | 51 int movementX, |
53 int movementY, | 52 int movementY, |
54 PlatformEvent::Modifiers modifiers, | 53 PlatformEvent::Modifiers modifiers, |
55 short button, | 54 short button, |
56 unsigned short buttons, | 55 unsigned short buttons, |
57 EventTarget* relatedTarget, | 56 EventTarget* relatedTarget, |
58 TimeTicks platformTimeStamp, | 57 TimeTicks platformTimeStamp, |
59 DataTransfer* dataTransfer, | 58 DataTransfer* dataTransfer, |
60 PlatformMouseEvent::SyntheticEventType syntheticEventType) | 59 SyntheticEventType syntheticEventType) |
61 : MouseEvent( | 60 : MouseEvent( |
62 eventType, | 61 eventType, |
63 canBubble, | 62 canBubble, |
64 cancelable, | 63 cancelable, |
65 view, | 64 view, |
66 detail, | 65 detail, |
67 screenX, | 66 screenX, |
68 screenY, | 67 screenY, |
69 windowX, | 68 windowX, |
70 windowY, | 69 windowY, |
71 movementX, | 70 movementX, |
72 movementY, | 71 movementY, |
73 modifiers, | 72 modifiers, |
74 button, | 73 button, |
75 buttons, | 74 buttons, |
76 relatedTarget, | 75 relatedTarget, |
77 platformTimeStamp, | 76 platformTimeStamp, |
78 syntheticEventType, | 77 syntheticEventType, |
79 // TODO(zino): Should support canvas hit region because the drag event | 78 // TODO(zino): Should support canvas hit region because the drag event |
80 // is a kind of mouse event. Please see http://crbug.com/594073 | 79 // is a kind of mouse event. Please see http://crbug.com/594073 |
81 String(), | 80 String()), |
82 nullptr), | |
83 m_dataTransfer(dataTransfer) | 81 m_dataTransfer(dataTransfer) |
84 | 82 |
85 {} | 83 {} |
86 | 84 |
87 DragEvent::DragEvent(const AtomicString& type, const DragEventInit& initializer) | 85 DragEvent::DragEvent(const AtomicString& type, const DragEventInit& initializer) |
88 : MouseEvent(type, initializer), | 86 : MouseEvent(type, initializer), |
89 m_dataTransfer(initializer.getDataTransfer()) {} | 87 m_dataTransfer(initializer.getDataTransfer()) {} |
90 | 88 |
91 bool DragEvent::isDragEvent() const { | 89 bool DragEvent::isDragEvent() const { |
92 return true; | 90 return true; |
(...skipping 25 matching lines...) Expand all Loading... |
118 } | 116 } |
119 | 117 |
120 DispatchEventResult DragEventDispatchMediator::dispatchEvent( | 118 DispatchEventResult DragEventDispatchMediator::dispatchEvent( |
121 EventDispatcher& dispatcher) const { | 119 EventDispatcher& dispatcher) const { |
122 event().eventPath().adjustForRelatedTarget(dispatcher.node(), | 120 event().eventPath().adjustForRelatedTarget(dispatcher.node(), |
123 event().relatedTarget()); | 121 event().relatedTarget()); |
124 return EventDispatchMediator::dispatchEvent(dispatcher); | 122 return EventDispatchMediator::dispatchEvent(dispatcher); |
125 } | 123 } |
126 | 124 |
127 } // namespace blink | 125 } // namespace blink |
OLD | NEW |