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 "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "ui/events/keycodes/keyboard_codes.h" | 26 #include "ui/events/keycodes/keyboard_codes.h" |
27 #include "v8/include/v8.h" | 27 #include "v8/include/v8.h" |
28 | 28 |
29 using blink::WebContextMenuData; | 29 using blink::WebContextMenuData; |
30 using blink::WebDragData; | 30 using blink::WebDragData; |
31 using blink::WebDragOperationsMask; | 31 using blink::WebDragOperationsMask; |
32 using blink::WebFloatPoint; | 32 using blink::WebFloatPoint; |
33 using blink::WebFrame; | 33 using blink::WebFrame; |
34 using blink::WebGestureEvent; | 34 using blink::WebGestureEvent; |
35 using blink::WebInputEvent; | 35 using blink::WebInputEvent; |
| 36 using blink::WebInputEventResult; |
36 using blink::WebKeyboardEvent; | 37 using blink::WebKeyboardEvent; |
37 using blink::WebMenuItemInfo; | 38 using blink::WebMenuItemInfo; |
38 using blink::WebMouseEvent; | 39 using blink::WebMouseEvent; |
39 using blink::WebMouseWheelEvent; | 40 using blink::WebMouseWheelEvent; |
40 using blink::WebPagePopup; | 41 using blink::WebPagePopup; |
41 using blink::WebPoint; | 42 using blink::WebPoint; |
42 using blink::WebString; | 43 using blink::WebString; |
43 using blink::WebTouchEvent; | 44 using blink::WebTouchEvent; |
44 using blink::WebTouchPoint; | 45 using blink::WebTouchPoint; |
45 using blink::WebVector; | 46 using blink::WebVector; |
(...skipping 2240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2286 NOTREACHED(); | 2287 NOTREACHED(); |
2287 } | 2288 } |
2288 | 2289 |
2289 event.globalX = event.x; | 2290 event.globalX = event.x; |
2290 event.globalY = event.y; | 2291 event.globalY = event.y; |
2291 event.timeStampSeconds = GetCurrentEventTimeSec(); | 2292 event.timeStampSeconds = GetCurrentEventTimeSec(); |
2292 | 2293 |
2293 if (force_layout_on_events_) | 2294 if (force_layout_on_events_) |
2294 view_->updateAllLifecyclePhases(); | 2295 view_->updateAllLifecyclePhases(); |
2295 | 2296 |
2296 bool result = HandleInputEventOnViewOrPopup(event); | 2297 WebInputEventResult result = HandleInputEventOnViewOrPopup(event); |
2297 | 2298 |
2298 // Long press might start a drag drop session. Complete it if so. | 2299 // Long press might start a drag drop session. Complete it if so. |
2299 if (type == WebInputEvent::GestureLongPress && !current_drag_data_.isNull()) { | 2300 if (type == WebInputEvent::GestureLongPress && !current_drag_data_.isNull()) { |
2300 WebMouseEvent mouse_event; | 2301 WebMouseEvent mouse_event; |
2301 InitMouseEvent(WebInputEvent::MouseDown, | 2302 InitMouseEvent(WebInputEvent::MouseDown, |
2302 pressed_button_, | 2303 pressed_button_, |
2303 WebPoint(x, y), | 2304 WebPoint(x, y), |
2304 GetCurrentEventTimeSec(), | 2305 GetCurrentEventTimeSec(), |
2305 click_count_, | 2306 click_count_, |
2306 0, | 2307 0, |
2307 &mouse_event); | 2308 &mouse_event); |
2308 | 2309 |
2309 FinishDragAndDrop(mouse_event, blink::WebDragOperationNone); | 2310 FinishDragAndDrop(mouse_event, blink::WebDragOperationNone); |
2310 } | 2311 } |
2311 args->Return(result); | 2312 args->Return(result != WebInputEventResult::NotHandled); |
2312 } | 2313 } |
2313 | 2314 |
2314 void EventSender::UpdateClickCountForButton( | 2315 void EventSender::UpdateClickCountForButton( |
2315 WebMouseEvent::Button button_type) { | 2316 WebMouseEvent::Button button_type) { |
2316 if ((GetCurrentEventTimeSec() - last_click_time_sec_ < | 2317 if ((GetCurrentEventTimeSec() - last_click_time_sec_ < |
2317 kMultipleClickTimeSec) && | 2318 kMultipleClickTimeSec) && |
2318 (!OutsideMultiClickRadius(last_mouse_pos_, last_click_pos_)) && | 2319 (!OutsideMultiClickRadius(last_mouse_pos_, last_click_pos_)) && |
2319 (button_type == last_button_type_)) { | 2320 (button_type == last_button_type_)) { |
2320 ++click_count_; | 2321 ++click_count_; |
2321 } else { | 2322 } else { |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2542 break; | 2543 break; |
2543 } | 2544 } |
2544 default: | 2545 default: |
2545 NOTREACHED(); | 2546 NOTREACHED(); |
2546 } | 2547 } |
2547 } | 2548 } |
2548 | 2549 |
2549 replaying_saved_events_ = false; | 2550 replaying_saved_events_ = false; |
2550 } | 2551 } |
2551 | 2552 |
2552 bool EventSender::HandleInputEventOnViewOrPopup(const WebInputEvent& event) { | 2553 WebInputEventResult EventSender::HandleInputEventOnViewOrPopup( |
| 2554 const WebInputEvent& event) { |
2553 last_event_timestamp_ = event.timeStampSeconds; | 2555 last_event_timestamp_ = event.timeStampSeconds; |
2554 | 2556 |
2555 if (WebPagePopup* popup = view_->pagePopup()) { | 2557 if (WebPagePopup* popup = view_->pagePopup()) { |
2556 if (!WebInputEvent::isKeyboardEventType(event.type)) | 2558 if (!WebInputEvent::isKeyboardEventType(event.type)) |
2557 return popup->handleInputEvent(event); | 2559 return popup->handleInputEvent(event); |
2558 } | 2560 } |
2559 return view_->handleInputEvent(event); | 2561 return view_->handleInputEvent(event); |
2560 } | 2562 } |
2561 | 2563 |
2562 } // namespace test_runner | 2564 } // namespace test_runner |
OLD | NEW |