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/input/EventHandler.h" | 5 #include "core/input/EventHandler.h" |
6 | 6 |
7 #include "core/dom/Document.h" | 7 #include "core/dom/Document.h" |
8 #include "core/dom/Range.h" | 8 #include "core/dom/Range.h" |
9 #include "core/editing/Editor.h" | 9 #include "core/editing/Editor.h" |
10 #include "core/editing/FrameSelection.h" | 10 #include "core/editing/FrameSelection.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 "<span class='line'>Line 1</span><span class='line'>Line 2</span><span c
lass='line'>Line 3</span><span class='line'>Line 4</span><span class='line'>Line
5</span>" | 67 "<span class='line'>Line 1</span><span class='line'>Line 2</span><span c
lass='line'>Line 3</span><span class='line'>Line 4</span><span class='line'>Line
5</span>" |
68 "<span class='line'>Line 6</span><span class='line'>Line 7</span><span c
lass='line'>Line 8</span><span class='line'>Line 9</span><span class='line'>Line
10</span>" | 68 "<span class='line'>Line 6</span><span class='line'>Line 7</span><span c
lass='line'>Line 8</span><span class='line'>Line 9</span><span class='line'>Line
10</span>" |
69 "</div>"); | 69 "</div>"); |
70 | 70 |
71 FrameView* frameView = document().view(); | 71 FrameView* frameView = document().view(); |
72 frameView->setScrollPosition(DoublePoint(0, 400), ProgrammaticScroll); | 72 frameView->setScrollPosition(DoublePoint(0, 400), ProgrammaticScroll); |
73 | 73 |
74 PlatformMouseEvent mouseDownEvent( | 74 PlatformMouseEvent mouseDownEvent( |
75 IntPoint(0, 0), | 75 IntPoint(0, 0), |
76 IntPoint(100, 200), | 76 IntPoint(100, 200), |
77 LeftButton, | 77 WebPointerProperties::Button::Left, |
78 PlatformEvent::MousePressed, | 78 PlatformEvent::MousePressed, |
79 1, | 79 1, |
80 PlatformEvent::Modifiers::LeftButtonDown, | 80 PlatformEvent::Modifiers::LeftButtonDown, |
81 WTF::monotonicallyIncreasingTime()); | 81 WTF::monotonicallyIncreasingTime()); |
82 document().frame()->eventHandler().handleMousePressEvent(mouseDownEvent); | 82 document().frame()->eventHandler().handleMousePressEvent(mouseDownEvent); |
83 | 83 |
84 PlatformMouseEvent mouseMoveEvent( | 84 PlatformMouseEvent mouseMoveEvent( |
85 IntPoint(100, 50), | 85 IntPoint(100, 50), |
86 IntPoint(200, 250), | 86 IntPoint(200, 250), |
87 LeftButton, | 87 WebPointerProperties::Button::Left, |
88 PlatformEvent::MouseMoved, | 88 PlatformEvent::MouseMoved, |
89 1, | 89 1, |
90 PlatformEvent::Modifiers::LeftButtonDown, | 90 PlatformEvent::Modifiers::LeftButtonDown, |
91 WTF::monotonicallyIncreasingTime()); | 91 WTF::monotonicallyIncreasingTime()); |
92 document().frame()->eventHandler().handleMouseMoveEvent(mouseMoveEvent); | 92 document().frame()->eventHandler().handleMouseMoveEvent(mouseMoveEvent); |
93 | 93 |
94 page().autoscrollController().animate(WTF::monotonicallyIncreasingTime()); | 94 page().autoscrollController().animate(WTF::monotonicallyIncreasingTime()); |
95 page().animator().serviceScriptedAnimations(WTF::monotonicallyIncreasingTime
()); | 95 page().animator().serviceScriptedAnimations(WTF::monotonicallyIncreasingTime
()); |
96 | 96 |
97 PlatformMouseEvent mouseUpEvent( | 97 PlatformMouseEvent mouseUpEvent( |
98 IntPoint(100, 50), | 98 IntPoint(100, 50), |
99 IntPoint(200, 250), | 99 IntPoint(200, 250), |
100 LeftButton, | 100 WebPointerProperties::Button::Left, |
101 PlatformEvent::MouseReleased, | 101 PlatformEvent::MouseReleased, |
102 1, | 102 1, |
103 static_cast<PlatformEvent::Modifiers>(0), | 103 static_cast<PlatformEvent::Modifiers>(0), |
104 WTF::monotonicallyIncreasingTime()); | 104 WTF::monotonicallyIncreasingTime()); |
105 document().frame()->eventHandler().handleMouseReleaseEvent(mouseUpEvent); | 105 document().frame()->eventHandler().handleMouseReleaseEvent(mouseUpEvent); |
106 | 106 |
107 FrameSelection& selection = document().frame()->selection(); | 107 FrameSelection& selection = document().frame()->selection(); |
108 ASSERT_TRUE(selection.isRange()); | 108 ASSERT_TRUE(selection.isRange()); |
109 Range* range = createRange(selection.selection().toNormalizedEphemeralRange(
)); | 109 Range* range = createRange(selection.selection().toNormalizedEphemeralRange(
)); |
110 ASSERT_TRUE(range); | 110 ASSERT_TRUE(range); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 "<style>" | 177 "<style>" |
178 "body { margin: 0px; }" | 178 "body { margin: 0px; }" |
179 ".line { font-family: sans-serif; background: blue; width: 300px; height
: 30px; font-size: 40px; margin-left: 250px; }" | 179 ".line { font-family: sans-serif; background: blue; width: 300px; height
: 30px; font-size: 40px; margin-left: 250px; }" |
180 "</style>" | 180 "</style>" |
181 "<div style='width: 300px; height: 100px;'>" | 181 "<div style='width: 300px; height: 100px;'>" |
182 "<span class='line' draggable='true'>abcd</span>" | 182 "<span class='line' draggable='true'>abcd</span>" |
183 "</div>"); | 183 "</div>"); |
184 PlatformMouseEvent mouseDownEvent( | 184 PlatformMouseEvent mouseDownEvent( |
185 IntPoint(262, 29), | 185 IntPoint(262, 29), |
186 IntPoint(329, 67), | 186 IntPoint(329, 67), |
187 LeftButton, | 187 WebPointerProperties::Button::Left, |
188 PlatformEvent::MousePressed, | 188 PlatformEvent::MousePressed, |
189 1, | 189 1, |
190 PlatformEvent::Modifiers::LeftButtonDown, | 190 PlatformEvent::Modifiers::LeftButtonDown, |
191 WTF::monotonicallyIncreasingTime()); | 191 WTF::monotonicallyIncreasingTime()); |
192 document().frame()->eventHandler().handleMousePressEvent(mouseDownEvent); | 192 document().frame()->eventHandler().handleMousePressEvent(mouseDownEvent); |
193 | 193 |
194 PlatformMouseEvent mouseMoveEvent( | 194 PlatformMouseEvent mouseMoveEvent( |
195 IntPoint(618, 298), | 195 IntPoint(618, 298), |
196 IntPoint(685, 436), | 196 IntPoint(685, 436), |
197 LeftButton, | 197 WebPointerProperties::Button::Left, |
198 PlatformEvent::MouseMoved, | 198 PlatformEvent::MouseMoved, |
199 1, | 199 1, |
200 PlatformEvent::Modifiers::LeftButtonDown, | 200 PlatformEvent::Modifiers::LeftButtonDown, |
201 WTF::monotonicallyIncreasingTime()); | 201 WTF::monotonicallyIncreasingTime()); |
202 document().frame()->eventHandler().handleMouseMoveEvent(mouseMoveEvent); | 202 document().frame()->eventHandler().handleMouseMoveEvent(mouseMoveEvent); |
203 | 203 |
204 EXPECT_EQ(IntPoint(12, 29), document().frame()->eventHandler().dragDataTrans
ferLocationForTesting()); | 204 EXPECT_EQ(IntPoint(12, 29), document().frame()->eventHandler().dragDataTrans
ferLocationForTesting()); |
205 } | 205 } |
206 | 206 |
207 TEST_F(EventHandlerTest, draggedSVGImagePositionTest) | 207 TEST_F(EventHandlerTest, draggedSVGImagePositionTest) |
208 { | 208 { |
209 setHtmlInnerHTML( | 209 setHtmlInnerHTML( |
210 "<style>" | 210 "<style>" |
211 "body { margin: 0px; }" | 211 "body { margin: 0px; }" |
212 "[draggable] {" | 212 "[draggable] {" |
213 "-webkit-user-select: none; user-select: none; -webkit-user-drag: elemen
t; }" | 213 "-webkit-user-select: none; user-select: none; -webkit-user-drag: elemen
t; }" |
214 "</style>" | 214 "</style>" |
215 "<div style='width: 300px; height: 100px;'>" | 215 "<div style='width: 300px; height: 100px;'>" |
216 "<svg width='500' height='500'>" | 216 "<svg width='500' height='500'>" |
217 "<rect x='100' y='100' width='100px' height='100px' fill='blue' draggabl
e='true'/>" | 217 "<rect x='100' y='100' width='100px' height='100px' fill='blue' draggabl
e='true'/>" |
218 "</svg>" | 218 "</svg>" |
219 "</div>"); | 219 "</div>"); |
220 PlatformMouseEvent mouseDownEvent( | 220 PlatformMouseEvent mouseDownEvent( |
221 IntPoint(145, 144), | 221 IntPoint(145, 144), |
222 IntPoint(212, 282), | 222 IntPoint(212, 282), |
223 LeftButton, | 223 WebPointerProperties::Button::Left, |
224 PlatformEvent::MousePressed, | 224 PlatformEvent::MousePressed, |
225 1, | 225 1, |
226 PlatformEvent::Modifiers::LeftButtonDown, | 226 PlatformEvent::Modifiers::LeftButtonDown, |
227 WTF::monotonicallyIncreasingTime()); | 227 WTF::monotonicallyIncreasingTime()); |
228 document().frame()->eventHandler().handleMousePressEvent(mouseDownEvent); | 228 document().frame()->eventHandler().handleMousePressEvent(mouseDownEvent); |
229 | 229 |
230 PlatformMouseEvent mouseMoveEvent( | 230 PlatformMouseEvent mouseMoveEvent( |
231 IntPoint(618, 298), | 231 IntPoint(618, 298), |
232 IntPoint(685, 436), | 232 IntPoint(685, 436), |
233 LeftButton, | 233 WebPointerProperties::Button::Left, |
234 PlatformEvent::MouseMoved, | 234 PlatformEvent::MouseMoved, |
235 1, | 235 1, |
236 PlatformEvent::Modifiers::LeftButtonDown, | 236 PlatformEvent::Modifiers::LeftButtonDown, |
237 WTF::monotonicallyIncreasingTime()); | 237 WTF::monotonicallyIncreasingTime()); |
238 document().frame()->eventHandler().handleMouseMoveEvent(mouseMoveEvent); | 238 document().frame()->eventHandler().handleMouseMoveEvent(mouseMoveEvent); |
239 | 239 |
240 EXPECT_EQ(IntPoint(45, 44), document().frame()->eventHandler().dragDataTrans
ferLocationForTesting()); | 240 EXPECT_EQ(IntPoint(45, 44), document().frame()->eventHandler().dragDataTrans
ferLocationForTesting()); |
241 } | 241 } |
242 | 242 |
243 } // namespace blink | 243 } // namespace blink |
OLD | NEW |