OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/test_runner/event_sender.h" | 5 #include "components/test_runner/event_sender.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 } | 146 } |
147 } | 147 } |
148 } | 148 } |
149 | 149 |
150 return true; | 150 return true; |
151 } | 151 } |
152 | 152 |
153 WebMouseEvent::Button GetButtonTypeFromButtonNumber(int button_code) { | 153 WebMouseEvent::Button GetButtonTypeFromButtonNumber(int button_code) { |
154 switch (button_code) { | 154 switch (button_code) { |
155 case -1: | 155 case -1: |
156 return WebMouseEvent::ButtonNone; | 156 return WebMouseEvent::Button::NoButton; |
157 case 0: | 157 case 0: |
158 return WebMouseEvent::ButtonLeft; | 158 return WebMouseEvent::Button::Left; |
159 case 1: | 159 case 1: |
160 return WebMouseEvent::ButtonMiddle; | 160 return WebMouseEvent::Button::Middle; |
161 case 2: | 161 case 2: |
162 return WebMouseEvent::ButtonRight; | 162 return WebMouseEvent::Button::Right; |
163 } | 163 } |
164 NOTREACHED(); | 164 NOTREACHED(); |
165 return WebMouseEvent::ButtonNone; | 165 return WebMouseEvent::Button::NoButton; |
166 } | 166 } |
167 | 167 |
168 int GetWebMouseEventModifierForButton(WebMouseEvent::Button button) { | 168 int GetWebMouseEventModifierForButton(WebMouseEvent::Button button) { |
169 switch (button) { | 169 switch (button) { |
170 case WebMouseEvent::ButtonNone: | 170 case WebMouseEvent::Button::NoButton: |
171 return 0; | 171 return 0; |
172 case WebMouseEvent::ButtonLeft: | 172 case WebMouseEvent::Button::Left: |
173 return WebMouseEvent::LeftButtonDown; | 173 return WebMouseEvent::LeftButtonDown; |
174 case WebMouseEvent::ButtonMiddle: | 174 case WebMouseEvent::Button::Middle: |
175 return WebMouseEvent::MiddleButtonDown; | 175 return WebMouseEvent::MiddleButtonDown; |
176 case WebMouseEvent::ButtonRight: | 176 case WebMouseEvent::Button::Right: |
177 return WebMouseEvent::RightButtonDown; | 177 return WebMouseEvent::RightButtonDown; |
178 } | 178 } |
179 NOTREACHED(); | 179 NOTREACHED(); |
180 return 0; | 180 return 0; |
181 } | 181 } |
182 | 182 |
183 const int kButtonsInModifiers = WebMouseEvent::LeftButtonDown | 183 const int kButtonsInModifiers = WebMouseEvent::LeftButtonDown |
184 | WebMouseEvent::MiddleButtonDown | WebMouseEvent::RightButtonDown; | 184 | WebMouseEvent::MiddleButtonDown | WebMouseEvent::RightButtonDown; |
185 | 185 |
186 int modifiersWithButtons(int modifiers, int buttons) { | 186 int modifiersWithButtons(int modifiers, int buttons) { |
(...skipping 1072 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1259 | 1259 |
1260 void EventSenderBindings::SetWmSysDeadChar(int sys_dead_char) { | 1260 void EventSenderBindings::SetWmSysDeadChar(int sys_dead_char) { |
1261 if (sender_) | 1261 if (sender_) |
1262 sender_->set_wm_sys_dead_char(sys_dead_char); | 1262 sender_->set_wm_sys_dead_char(sys_dead_char); |
1263 } | 1263 } |
1264 #endif | 1264 #endif |
1265 | 1265 |
1266 // EventSender ----------------------------------------------------------------- | 1266 // EventSender ----------------------------------------------------------------- |
1267 | 1267 |
1268 WebMouseEvent::Button EventSender::last_button_type_ = | 1268 WebMouseEvent::Button EventSender::last_button_type_ = |
1269 WebMouseEvent::ButtonNone; | 1269 WebMouseEvent::Button::NoButton; |
1270 | 1270 |
1271 EventSender::SavedEvent::SavedEvent() | 1271 EventSender::SavedEvent::SavedEvent() |
1272 : type(TYPE_UNSPECIFIED), | 1272 : type(TYPE_UNSPECIFIED), |
1273 button_type(WebMouseEvent::ButtonNone), | 1273 button_type(WebMouseEvent::Button::NoButton), |
1274 milliseconds(0), | 1274 milliseconds(0), |
1275 modifiers(0) {} | 1275 modifiers(0) {} |
1276 | 1276 |
1277 EventSender::EventSender(WebViewTestProxyBase* web_view_test_proxy_base) | 1277 EventSender::EventSender(WebViewTestProxyBase* web_view_test_proxy_base) |
1278 : web_view_test_proxy_base_(web_view_test_proxy_base), | 1278 : web_view_test_proxy_base_(web_view_test_proxy_base), |
1279 replaying_saved_events_(false), | 1279 replaying_saved_events_(false), |
1280 weak_factory_(this) { | 1280 weak_factory_(this) { |
1281 Reset(); | 1281 Reset(); |
1282 } | 1282 } |
1283 | 1283 |
1284 EventSender::~EventSender() {} | 1284 EventSender::~EventSender() {} |
1285 | 1285 |
1286 void EventSender::Reset() { | 1286 void EventSender::Reset() { |
1287 DCHECK(current_drag_data_.isNull()); | 1287 DCHECK(current_drag_data_.isNull()); |
1288 current_drag_data_.reset(); | 1288 current_drag_data_.reset(); |
1289 current_drag_effect_ = blink::WebDragOperationNone; | 1289 current_drag_effect_ = blink::WebDragOperationNone; |
1290 current_drag_effects_allowed_ = blink::WebDragOperationNone; | 1290 current_drag_effects_allowed_ = blink::WebDragOperationNone; |
1291 if (view() && | 1291 if (view() && |
1292 current_pointer_state_[kRawMousePointerId].pressed_button_ != | 1292 current_pointer_state_[kRawMousePointerId].pressed_button_ != |
1293 WebMouseEvent::ButtonNone) | 1293 WebMouseEvent::Button::NoButton) |
1294 view()->mouseCaptureLost(); | 1294 view()->mouseCaptureLost(); |
1295 current_pointer_state_.clear(); | 1295 current_pointer_state_.clear(); |
1296 is_drag_mode_ = true; | 1296 is_drag_mode_ = true; |
1297 force_layout_on_events_ = true; | 1297 force_layout_on_events_ = true; |
1298 | 1298 |
1299 #if defined(OS_WIN) | 1299 #if defined(OS_WIN) |
1300 wm_key_down_ = WM_KEYDOWN; | 1300 wm_key_down_ = WM_KEYDOWN; |
1301 wm_key_up_ = WM_KEYUP; | 1301 wm_key_up_ = WM_KEYUP; |
1302 wm_char_ = WM_CHAR; | 1302 wm_char_ = WM_CHAR; |
1303 wm_dead_char_ = WM_DEADCHAR; | 1303 wm_dead_char_ = WM_DEADCHAR; |
1304 wm_sys_key_down_ = WM_SYSKEYDOWN; | 1304 wm_sys_key_down_ = WM_SYSKEYDOWN; |
1305 wm_sys_key_up_ = WM_SYSKEYUP; | 1305 wm_sys_key_up_ = WM_SYSKEYUP; |
1306 wm_sys_char_ = WM_SYSCHAR; | 1306 wm_sys_char_ = WM_SYSCHAR; |
1307 wm_sys_dead_char_ = WM_SYSDEADCHAR; | 1307 wm_sys_dead_char_ = WM_SYSDEADCHAR; |
1308 #endif | 1308 #endif |
1309 | 1309 |
1310 last_click_time_sec_ = 0; | 1310 last_click_time_sec_ = 0; |
1311 last_click_pos_ = WebPoint(0, 0); | 1311 last_click_pos_ = WebPoint(0, 0); |
1312 last_button_type_ = WebMouseEvent::ButtonNone; | 1312 last_button_type_ = WebMouseEvent::Button::NoButton; |
1313 touch_points_.clear(); | 1313 touch_points_.clear(); |
1314 last_context_menu_data_.reset(); | 1314 last_context_menu_data_.reset(); |
1315 weak_factory_.InvalidateWeakPtrs(); | 1315 weak_factory_.InvalidateWeakPtrs(); |
1316 current_gesture_location_ = WebPoint(0, 0); | 1316 current_gesture_location_ = WebPoint(0, 0); |
1317 mouse_event_queue_.clear(); | 1317 mouse_event_queue_.clear(); |
1318 | 1318 |
1319 time_offset_ms_ = 0; | 1319 time_offset_ms_ = 0; |
1320 click_count_ = 0; | 1320 click_count_ = 0; |
1321 | 1321 |
1322 touch_modifiers_ = 0; | 1322 touch_modifiers_ = 0; |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1430 SavedEvent saved_event; | 1430 SavedEvent saved_event; |
1431 saved_event.type = SavedEvent::TYPE_MOUSE_UP; | 1431 saved_event.type = SavedEvent::TYPE_MOUSE_UP; |
1432 saved_event.button_type = button_type; | 1432 saved_event.button_type = button_type; |
1433 saved_event.modifiers = modifiers; | 1433 saved_event.modifiers = modifiers; |
1434 mouse_event_queue_.push_back(saved_event); | 1434 mouse_event_queue_.push_back(saved_event); |
1435 ReplaySavedEvents(); | 1435 ReplaySavedEvents(); |
1436 } else { | 1436 } else { |
1437 current_pointer_state_[pointerId].current_buttons_ &= | 1437 current_pointer_state_[pointerId].current_buttons_ &= |
1438 ~GetWebMouseEventModifierForButton(button_type); | 1438 ~GetWebMouseEventModifierForButton(button_type); |
1439 current_pointer_state_[pointerId].pressed_button_ = | 1439 current_pointer_state_[pointerId].pressed_button_ = |
1440 WebMouseEvent::ButtonNone; | 1440 WebMouseEvent::Button::NoButton; |
1441 | 1441 |
1442 WebMouseEvent event; | 1442 WebMouseEvent event; |
1443 int click_count = pointerType == WebPointerProperties::PointerType::Mouse | 1443 int click_count = pointerType == WebPointerProperties::PointerType::Mouse |
1444 ? click_count_ | 1444 ? click_count_ |
1445 : 0; | 1445 : 0; |
1446 InitMouseEventGeneric(WebInputEvent::MouseUp, button_type, | 1446 InitMouseEventGeneric(WebInputEvent::MouseUp, button_type, |
1447 current_pointer_state_[pointerId].current_buttons_, | 1447 current_pointer_state_[pointerId].current_buttons_, |
1448 current_pointer_state_[pointerId].last_pos_, | 1448 current_pointer_state_[pointerId].last_pos_, |
1449 GetCurrentEventTimeSec(), click_count, modifiers, | 1449 GetCurrentEventTimeSec(), click_count, modifiers, |
1450 pointerType, pointerId, pressure, tiltX, tiltY, | 1450 pointerType, pointerId, pressure, tiltX, tiltY, |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1725 | 1725 |
1726 void EventSender::FireKeyboardEventsToElement() {} | 1726 void EventSender::FireKeyboardEventsToElement() {} |
1727 | 1727 |
1728 void EventSender::ClearKillRing() {} | 1728 void EventSender::ClearKillRing() {} |
1729 | 1729 |
1730 std::vector<std::string> EventSender::ContextClick() { | 1730 std::vector<std::string> EventSender::ContextClick() { |
1731 if (force_layout_on_events_) { | 1731 if (force_layout_on_events_) { |
1732 view()->updateAllLifecyclePhases(); | 1732 view()->updateAllLifecyclePhases(); |
1733 } | 1733 } |
1734 | 1734 |
1735 UpdateClickCountForButton(WebMouseEvent::ButtonRight); | 1735 UpdateClickCountForButton(WebMouseEvent::Button::Right); |
1736 | 1736 |
1737 // Clears last context menu data because we need to know if the context menu | 1737 // Clears last context menu data because we need to know if the context menu |
1738 // be requested after following mouse events. | 1738 // be requested after following mouse events. |
1739 last_context_menu_data_.reset(); | 1739 last_context_menu_data_.reset(); |
1740 | 1740 |
1741 // Generate right mouse down and up. | 1741 // Generate right mouse down and up. |
1742 WebMouseEvent event; | 1742 WebMouseEvent event; |
1743 // This is a hack to work around only allowing a single pressed button since | 1743 // This is a hack to work around only allowing a single pressed button since |
1744 // we want to test the case where both the left and right mouse buttons are | 1744 // we want to test the case where both the left and right mouse buttons are |
1745 // pressed. | 1745 // pressed. |
1746 // TODO(mustaq): This hack seems unused here! But do we need this hack at all | 1746 // TODO(mustaq): This hack seems unused here! But do we need this hack at all |
1747 // after adding current_buttons_. | 1747 // after adding current_buttons_. |
1748 if (current_pointer_state_[kRawMousePointerId].pressed_button_ == | 1748 if (current_pointer_state_[kRawMousePointerId].pressed_button_ == |
1749 WebMouseEvent::ButtonNone) { | 1749 WebMouseEvent::Button::NoButton) { |
1750 current_pointer_state_[kRawMousePointerId].pressed_button_ = | 1750 current_pointer_state_[kRawMousePointerId].pressed_button_ = |
1751 WebMouseEvent::ButtonRight; | 1751 WebMouseEvent::Button::Right; |
1752 current_pointer_state_[kRawMousePointerId].current_buttons_ |= | 1752 current_pointer_state_[kRawMousePointerId].current_buttons_ |= |
1753 GetWebMouseEventModifierForButton( | 1753 GetWebMouseEventModifierForButton( |
1754 current_pointer_state_[kRawMousePointerId].pressed_button_); | 1754 current_pointer_state_[kRawMousePointerId].pressed_button_); |
1755 } | 1755 } |
1756 InitMouseEvent(WebInputEvent::MouseDown, WebMouseEvent::ButtonRight, | 1756 InitMouseEvent(WebInputEvent::MouseDown, WebMouseEvent::Button::Right, |
1757 current_pointer_state_[kRawMousePointerId].current_buttons_, | 1757 current_pointer_state_[kRawMousePointerId].current_buttons_, |
1758 current_pointer_state_[kRawMousePointerId].last_pos_, | 1758 current_pointer_state_[kRawMousePointerId].last_pos_, |
1759 GetCurrentEventTimeSec(), click_count_, 0, &event); | 1759 GetCurrentEventTimeSec(), click_count_, 0, &event); |
1760 HandleInputEventOnViewOrPopup(event); | 1760 HandleInputEventOnViewOrPopup(event); |
1761 | 1761 |
1762 #if defined(OS_WIN) | 1762 #if defined(OS_WIN) |
1763 current_pointer_state_[kRawMousePointerId].current_buttons_ &= | 1763 current_pointer_state_[kRawMousePointerId].current_buttons_ &= |
1764 ~GetWebMouseEventModifierForButton(WebMouseEvent::ButtonRight); | 1764 ~GetWebMouseEventModifierForButton(WebMouseEvent::Button::Right); |
1765 current_pointer_state_[kRawMousePointerId].pressed_button_ = | 1765 current_pointer_state_[kRawMousePointerId].pressed_button_ = |
1766 WebMouseEvent::ButtonNone; | 1766 WebMouseEvent::Button::NoButton; |
1767 | 1767 |
1768 InitMouseEvent(WebInputEvent::MouseUp, WebMouseEvent::ButtonRight, | 1768 InitMouseEvent(WebInputEvent::MouseUp, WebMouseEvent::Button::Right, |
1769 current_pointer_state_[kRawMousePointerId].current_buttons_, | 1769 current_pointer_state_[kRawMousePointerId].current_buttons_, |
1770 current_pointer_state_[kRawMousePointerId].last_pos_, | 1770 current_pointer_state_[kRawMousePointerId].last_pos_, |
1771 GetCurrentEventTimeSec(), click_count_, 0, &event); | 1771 GetCurrentEventTimeSec(), click_count_, 0, &event); |
1772 HandleInputEventOnViewOrPopup(event); | 1772 HandleInputEventOnViewOrPopup(event); |
1773 #endif | 1773 #endif |
1774 | 1774 |
1775 std::vector<std::string> menu_items = | 1775 std::vector<std::string> menu_items = |
1776 MakeMenuItemStringsFor(last_context_menu_data_.get(), delegate()); | 1776 MakeMenuItemStringsFor(last_context_menu_data_.get(), delegate()); |
1777 last_context_menu_data_.reset(); | 1777 last_context_menu_data_.reset(); |
1778 return menu_items; | 1778 return menu_items; |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1979 | 1979 |
1980 void EventSender::NotifyStartOfTouchScroll() { | 1980 void EventSender::NotifyStartOfTouchScroll() { |
1981 WebTouchEvent event; | 1981 WebTouchEvent event; |
1982 event.type = WebInputEvent::TouchScrollStarted; | 1982 event.type = WebInputEvent::TouchScrollStarted; |
1983 HandleInputEventOnViewOrPopup(event); | 1983 HandleInputEventOnViewOrPopup(event); |
1984 } | 1984 } |
1985 | 1985 |
1986 void EventSender::LeapForward(int milliseconds) { | 1986 void EventSender::LeapForward(int milliseconds) { |
1987 if (is_drag_mode_ && | 1987 if (is_drag_mode_ && |
1988 current_pointer_state_[kRawMousePointerId].pressed_button_ == | 1988 current_pointer_state_[kRawMousePointerId].pressed_button_ == |
1989 WebMouseEvent::ButtonLeft && | 1989 WebMouseEvent::Button::Left && |
1990 !replaying_saved_events_) { | 1990 !replaying_saved_events_) { |
1991 SavedEvent saved_event; | 1991 SavedEvent saved_event; |
1992 saved_event.type = SavedEvent::TYPE_LEAP_FORWARD; | 1992 saved_event.type = SavedEvent::TYPE_LEAP_FORWARD; |
1993 saved_event.milliseconds = milliseconds; | 1993 saved_event.milliseconds = milliseconds; |
1994 mouse_event_queue_.push_back(saved_event); | 1994 mouse_event_queue_.push_back(saved_event); |
1995 } else { | 1995 } else { |
1996 DoLeapForward(milliseconds); | 1996 DoLeapForward(milliseconds); |
1997 } | 1997 } |
1998 } | 1998 } |
1999 | 1999 |
(...skipping 29 matching lines...) Expand all Loading... |
2029 // Provide a drag source. | 2029 // Provide a drag source. |
2030 view()->dragTargetDragEnter( | 2030 view()->dragTargetDragEnter( |
2031 current_drag_data_, scaled_last_pos, scaled_last_pos, | 2031 current_drag_data_, scaled_last_pos, scaled_last_pos, |
2032 current_drag_effects_allowed_, 0); | 2032 current_drag_effects_allowed_, 0); |
2033 // |is_drag_mode_| saves events and then replays them later. We don't | 2033 // |is_drag_mode_| saves events and then replays them later. We don't |
2034 // need/want that. | 2034 // need/want that. |
2035 is_drag_mode_ = false; | 2035 is_drag_mode_ = false; |
2036 | 2036 |
2037 // Make the rest of eventSender think a drag is in progress. | 2037 // Make the rest of eventSender think a drag is in progress. |
2038 current_pointer_state_[kRawMousePointerId].pressed_button_ = | 2038 current_pointer_state_[kRawMousePointerId].pressed_button_ = |
2039 WebMouseEvent::ButtonLeft; | 2039 WebMouseEvent::Button::Left; |
2040 current_pointer_state_[kRawMousePointerId].current_buttons_ |= | 2040 current_pointer_state_[kRawMousePointerId].current_buttons_ |= |
2041 GetWebMouseEventModifierForButton( | 2041 GetWebMouseEventModifierForButton( |
2042 current_pointer_state_[kRawMousePointerId].pressed_button_); | 2042 current_pointer_state_[kRawMousePointerId].pressed_button_); |
2043 } | 2043 } |
2044 | 2044 |
2045 void EventSender::AddTouchPoint(float x, float y, gin::Arguments* args) { | 2045 void EventSender::AddTouchPoint(float x, float y, gin::Arguments* args) { |
2046 WebTouchPoint touch_point; | 2046 WebTouchPoint touch_point; |
2047 touch_point.pointerType = WebPointerProperties::PointerType::Touch; | 2047 touch_point.pointerType = WebPointerProperties::PointerType::Touch; |
2048 touch_point.state = WebTouchPoint::StatePressed; | 2048 touch_point.state = WebTouchPoint::StatePressed; |
2049 touch_point.position = WebFloatPoint(x, y); | 2049 touch_point.position = WebFloatPoint(x, y); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2157 float pressure = 0; | 2157 float pressure = 0; |
2158 int tiltX = 0; | 2158 int tiltX = 0; |
2159 int tiltY = 0; | 2159 int tiltY = 0; |
2160 if (!getMousePenPointerProperties(args, pointerType, pointerId, pressure, | 2160 if (!getMousePenPointerProperties(args, pointerType, pointerId, pressure, |
2161 tiltX, tiltY)) | 2161 tiltX, tiltY)) |
2162 return; | 2162 return; |
2163 | 2163 |
2164 if (pointerType == WebPointerProperties::PointerType::Mouse && | 2164 if (pointerType == WebPointerProperties::PointerType::Mouse && |
2165 is_drag_mode_ && !replaying_saved_events_ && | 2165 is_drag_mode_ && !replaying_saved_events_ && |
2166 current_pointer_state_[kRawMousePointerId].pressed_button_ == | 2166 current_pointer_state_[kRawMousePointerId].pressed_button_ == |
2167 WebMouseEvent::ButtonLeft) { | 2167 WebMouseEvent::Button::Left) { |
2168 SavedEvent saved_event; | 2168 SavedEvent saved_event; |
2169 saved_event.type = SavedEvent::TYPE_MOUSE_MOVE; | 2169 saved_event.type = SavedEvent::TYPE_MOUSE_MOVE; |
2170 saved_event.pos = mouse_pos; | 2170 saved_event.pos = mouse_pos; |
2171 saved_event.modifiers = modifiers; | 2171 saved_event.modifiers = modifiers; |
2172 mouse_event_queue_.push_back(saved_event); | 2172 mouse_event_queue_.push_back(saved_event); |
2173 } else { | 2173 } else { |
2174 current_pointer_state_[pointerId].last_pos_ = mouse_pos; | 2174 current_pointer_state_[pointerId].last_pos_ = mouse_pos; |
2175 WebMouseEvent event; | 2175 WebMouseEvent event; |
2176 int click_count = pointerType == WebPointerProperties::PointerType::Mouse | 2176 int click_count = pointerType == WebPointerProperties::PointerType::Mouse |
2177 ? click_count_ | 2177 ? click_count_ |
2178 : 0; | 2178 : 0; |
2179 InitMouseEventGeneric( | 2179 InitMouseEventGeneric( |
2180 WebInputEvent::MouseMove, | 2180 WebInputEvent::MouseMove, |
2181 current_pointer_state_[kRawMousePointerId].pressed_button_, | 2181 current_pointer_state_[kRawMousePointerId].pressed_button_, |
2182 current_pointer_state_[kRawMousePointerId].current_buttons_, mouse_pos, | 2182 current_pointer_state_[kRawMousePointerId].current_buttons_, mouse_pos, |
2183 GetCurrentEventTimeSec(), click_count, modifiers, pointerType, | 2183 GetCurrentEventTimeSec(), click_count, modifiers, pointerType, |
2184 pointerId, pressure, tiltX, tiltY, &event); | 2184 pointerId, pressure, tiltX, tiltY, &event); |
2185 HandleInputEventOnViewOrPopup(event); | 2185 HandleInputEventOnViewOrPopup(event); |
2186 if (pointerType == WebPointerProperties::PointerType::Mouse) | 2186 if (pointerType == WebPointerProperties::PointerType::Mouse) |
2187 DoDragAfterMouseMove(event); | 2187 DoDragAfterMouseMove(event); |
2188 } | 2188 } |
2189 } | 2189 } |
2190 | 2190 |
2191 void EventSender::MouseLeave() { | 2191 void EventSender::MouseLeave() { |
2192 if (force_layout_on_events_) | 2192 if (force_layout_on_events_) |
2193 view()->updateAllLifecyclePhases(); | 2193 view()->updateAllLifecyclePhases(); |
2194 | 2194 |
2195 WebMouseEvent event; | 2195 WebMouseEvent event; |
2196 InitMouseEvent(WebInputEvent::MouseLeave, WebMouseEvent::ButtonNone, 0, | 2196 InitMouseEvent(WebInputEvent::MouseLeave, WebMouseEvent::Button::NoButton, 0, |
2197 current_pointer_state_[kRawMousePointerId].last_pos_, | 2197 current_pointer_state_[kRawMousePointerId].last_pos_, |
2198 GetCurrentEventTimeSec(), click_count_, 0, &event); | 2198 GetCurrentEventTimeSec(), click_count_, 0, &event); |
2199 HandleInputEventOnViewOrPopup(event); | 2199 HandleInputEventOnViewOrPopup(event); |
2200 } | 2200 } |
2201 | 2201 |
2202 | 2202 |
2203 void EventSender::ScheduleAsynchronousClick(int button_number, int modifiers) { | 2203 void EventSender::ScheduleAsynchronousClick(int button_number, int modifiers) { |
2204 delegate()->PostTask(new WebCallbackTask( | 2204 delegate()->PostTask(new WebCallbackTask( |
2205 base::Bind(&EventSender::MouseDown, weak_factory_.GetWeakPtr(), | 2205 base::Bind(&EventSender::MouseDown, weak_factory_.GetWeakPtr(), |
2206 button_number, modifiers))); | 2206 button_number, modifiers))); |
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2711 | 2711 |
2712 // Bail if dragover caused cancellation. | 2712 // Bail if dragover caused cancellation. |
2713 if (current_drag_data_.isNull()) | 2713 if (current_drag_data_.isNull()) |
2714 return; | 2714 return; |
2715 | 2715 |
2716 FinishDragAndDrop(unscaled_event, drag_effect); | 2716 FinishDragAndDrop(unscaled_event, drag_effect); |
2717 } | 2717 } |
2718 | 2718 |
2719 void EventSender::DoDragAfterMouseMove(const WebMouseEvent& unscaled_event) { | 2719 void EventSender::DoDragAfterMouseMove(const WebMouseEvent& unscaled_event) { |
2720 if (current_pointer_state_[kRawMousePointerId].pressed_button_ == | 2720 if (current_pointer_state_[kRawMousePointerId].pressed_button_ == |
2721 WebMouseEvent::ButtonNone || | 2721 WebMouseEvent::Button::NoButton || |
2722 current_drag_data_.isNull()) { | 2722 current_drag_data_.isNull()) { |
2723 return; | 2723 return; |
2724 } | 2724 } |
2725 | 2725 |
2726 std::unique_ptr<WebInputEvent> scaled_event = ScaleEvent(unscaled_event); | 2726 std::unique_ptr<WebInputEvent> scaled_event = ScaleEvent(unscaled_event); |
2727 const WebMouseEvent* event = | 2727 const WebMouseEvent* event = |
2728 scaled_event.get() ? static_cast<WebMouseEvent*>(scaled_event.get()) | 2728 scaled_event.get() ? static_cast<WebMouseEvent*>(scaled_event.get()) |
2729 : &unscaled_event; | 2729 : &unscaled_event; |
2730 | 2730 |
2731 WebPoint client_point(event->x, event->y); | 2731 WebPoint client_point(event->x, event->y); |
(...skipping 23 matching lines...) Expand all Loading... |
2755 DoDragAfterMouseMove(event); | 2755 DoDragAfterMouseMove(event); |
2756 break; | 2756 break; |
2757 } | 2757 } |
2758 case SavedEvent::TYPE_LEAP_FORWARD: | 2758 case SavedEvent::TYPE_LEAP_FORWARD: |
2759 DoLeapForward(e.milliseconds); | 2759 DoLeapForward(e.milliseconds); |
2760 break; | 2760 break; |
2761 case SavedEvent::TYPE_MOUSE_UP: { | 2761 case SavedEvent::TYPE_MOUSE_UP: { |
2762 current_pointer_state_[kRawMousePointerId].current_buttons_ &= | 2762 current_pointer_state_[kRawMousePointerId].current_buttons_ &= |
2763 ~GetWebMouseEventModifierForButton(e.button_type); | 2763 ~GetWebMouseEventModifierForButton(e.button_type); |
2764 current_pointer_state_[kRawMousePointerId].pressed_button_ = | 2764 current_pointer_state_[kRawMousePointerId].pressed_button_ = |
2765 WebMouseEvent::ButtonNone; | 2765 WebMouseEvent::Button::NoButton; |
2766 | 2766 |
2767 WebMouseEvent event; | 2767 WebMouseEvent event; |
2768 InitMouseEvent( | 2768 InitMouseEvent( |
2769 WebInputEvent::MouseUp, e.button_type, | 2769 WebInputEvent::MouseUp, e.button_type, |
2770 current_pointer_state_[kRawMousePointerId].current_buttons_, | 2770 current_pointer_state_[kRawMousePointerId].current_buttons_, |
2771 current_pointer_state_[kRawMousePointerId].last_pos_, | 2771 current_pointer_state_[kRawMousePointerId].last_pos_, |
2772 GetCurrentEventTimeSec(), click_count_, e.modifiers, &event); | 2772 GetCurrentEventTimeSec(), click_count_, e.modifiers, &event); |
2773 HandleInputEventOnViewOrPopup(event); | 2773 HandleInputEventOnViewOrPopup(event); |
2774 DoDragAfterMouseUp(event); | 2774 DoDragAfterMouseUp(event); |
2775 break; | 2775 break; |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2871 } | 2871 } |
2872 | 2872 |
2873 std::unique_ptr<WebInputEvent> EventSender::ScaleEvent( | 2873 std::unique_ptr<WebInputEvent> EventSender::ScaleEvent( |
2874 const WebInputEvent& event) { | 2874 const WebInputEvent& event) { |
2875 // ui::ScaleWebInputEvent returns nullptr when the scale is 1.0f as the event | 2875 // ui::ScaleWebInputEvent returns nullptr when the scale is 1.0f as the event |
2876 // does not have to be converted. | 2876 // does not have to be converted. |
2877 return ui::ScaleWebInputEvent(event, delegate()->GetWindowToViewportScale()); | 2877 return ui::ScaleWebInputEvent(event, delegate()->GetWindowToViewportScale()); |
2878 } | 2878 } |
2879 | 2879 |
2880 } // namespace test_runner | 2880 } // namespace test_runner |
OLD | NEW |