| 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 2063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2074 void EventSender::GestureTwoFingerTap(gin::Arguments* args) { | 2074 void EventSender::GestureTwoFingerTap(gin::Arguments* args) { |
| 2075 GestureEvent(WebInputEvent::GestureTwoFingerTap, args); | 2075 GestureEvent(WebInputEvent::GestureTwoFingerTap, args); |
| 2076 } | 2076 } |
| 2077 | 2077 |
| 2078 void EventSender::MouseScrollBy(gin::Arguments* args, | 2078 void EventSender::MouseScrollBy(gin::Arguments* args, |
| 2079 MouseScrollType scroll_type) { | 2079 MouseScrollType scroll_type) { |
| 2080 WebMouseWheelEvent wheel_event; | 2080 WebMouseWheelEvent wheel_event; |
| 2081 // TODO(dtapuska): Gestures really should be sent by the MouseWheelEventQueue | 2081 // TODO(dtapuska): Gestures really should be sent by the MouseWheelEventQueue |
| 2082 // class in the browser. But since the event doesn't propogate up into | 2082 // class in the browser. But since the event doesn't propogate up into |
| 2083 // the browser generate the events here. See crbug.com/596095. | 2083 // the browser generate the events here. See crbug.com/596095. |
| 2084 bool send_gestures = false; | 2084 bool send_gestures = true; |
| 2085 InitMouseWheelEvent(args, scroll_type, &wheel_event, &send_gestures); | 2085 InitMouseWheelEvent(args, scroll_type, &wheel_event, &send_gestures); |
| 2086 if (HandleInputEventOnViewOrPopup(wheel_event) == | 2086 if (HandleInputEventOnViewOrPopup(wheel_event) == |
| 2087 WebInputEventResult::NotHandled && | 2087 WebInputEventResult::NotHandled && |
| 2088 send_gestures) { | 2088 send_gestures) { |
| 2089 SendGesturesForMouseWheelEvent(wheel_event); | 2089 SendGesturesForMouseWheelEvent(wheel_event); |
| 2090 } | 2090 } |
| 2091 } | 2091 } |
| 2092 | 2092 |
| 2093 void EventSender::MouseMoveTo(gin::Arguments* args) { | 2093 void EventSender::MouseMoveTo(gin::Arguments* args) { |
| 2094 if (force_layout_on_events_) | 2094 if (force_layout_on_events_) |
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2524 } | 2524 } |
| 2525 double vertical; | 2525 double vertical; |
| 2526 if (!args->GetNext(&vertical)) { | 2526 if (!args->GetNext(&vertical)) { |
| 2527 args->ThrowError(); | 2527 args->ThrowError(); |
| 2528 return; | 2528 return; |
| 2529 } | 2529 } |
| 2530 | 2530 |
| 2531 bool paged = false; | 2531 bool paged = false; |
| 2532 bool has_precise_scrolling_deltas = false; | 2532 bool has_precise_scrolling_deltas = false; |
| 2533 int modifiers = 0; | 2533 int modifiers = 0; |
| 2534 bool can_scroll = true; | |
| 2535 if (!args->PeekNext().IsEmpty()) { | 2534 if (!args->PeekNext().IsEmpty()) { |
| 2536 args->GetNext(&paged); | 2535 args->GetNext(&paged); |
| 2537 if (!args->PeekNext().IsEmpty()) { | 2536 if (!args->PeekNext().IsEmpty()) { |
| 2538 args->GetNext(&has_precise_scrolling_deltas); | 2537 args->GetNext(&has_precise_scrolling_deltas); |
| 2539 if (!args->PeekNext().IsEmpty()) { | 2538 if (!args->PeekNext().IsEmpty()) { |
| 2540 v8::Local<v8::Value> value; | 2539 v8::Local<v8::Value> value; |
| 2541 args->GetNext(&value); | 2540 args->GetNext(&value); |
| 2542 modifiers = GetKeyModifiersFromV8(args->isolate(), value); | 2541 modifiers = GetKeyModifiersFromV8(args->isolate(), value); |
| 2543 if (!args->PeekNext().IsEmpty()) { | 2542 if (!args->PeekNext().IsEmpty()) { |
| 2544 args->GetNext(&can_scroll); | 2543 args->GetNext(send_gestures); |
| 2545 } | 2544 } |
| 2546 } | 2545 } |
| 2547 } | 2546 } |
| 2548 } | 2547 } |
| 2549 if (can_scroll) { | |
| 2550 can_scroll = false; | |
| 2551 *send_gestures = true; | |
| 2552 } | |
| 2553 | 2548 |
| 2554 InitMouseEvent(WebInputEvent::MouseWheel, | 2549 InitMouseEvent(WebInputEvent::MouseWheel, |
| 2555 current_pointer_state_[kMousePointerId].pressed_button_, | 2550 current_pointer_state_[kMousePointerId].pressed_button_, |
| 2556 current_pointer_state_[kMousePointerId].current_buttons_, | 2551 current_pointer_state_[kMousePointerId].current_buttons_, |
| 2557 current_pointer_state_[kMousePointerId].last_pos_, | 2552 current_pointer_state_[kMousePointerId].last_pos_, |
| 2558 GetCurrentEventTimeSec(), | 2553 GetCurrentEventTimeSec(), |
| 2559 click_count_, | 2554 click_count_, |
| 2560 modifiers, | 2555 modifiers, |
| 2561 blink::WebPointerProperties::PointerType::Mouse, | 2556 blink::WebPointerProperties::PointerType::Mouse, |
| 2562 0, | 2557 0, |
| 2563 event); | 2558 event); |
| 2564 event->wheelTicksX = static_cast<float>(horizontal); | 2559 event->wheelTicksX = static_cast<float>(horizontal); |
| 2565 event->wheelTicksY = static_cast<float>(vertical); | 2560 event->wheelTicksY = static_cast<float>(vertical); |
| 2566 event->deltaX = event->wheelTicksX; | 2561 event->deltaX = event->wheelTicksX; |
| 2567 event->deltaY = event->wheelTicksY; | 2562 event->deltaY = event->wheelTicksY; |
| 2568 event->scrollByPage = paged; | 2563 event->scrollByPage = paged; |
| 2569 event->hasPreciseScrollingDeltas = has_precise_scrolling_deltas; | 2564 event->hasPreciseScrollingDeltas = has_precise_scrolling_deltas; |
| 2570 event->canScroll = can_scroll; | |
| 2571 if (scroll_type == MouseScrollType::PIXEL) { | 2565 if (scroll_type == MouseScrollType::PIXEL) { |
| 2572 event->wheelTicksX /= kScrollbarPixelsPerTick; | 2566 event->wheelTicksX /= kScrollbarPixelsPerTick; |
| 2573 event->wheelTicksY /= kScrollbarPixelsPerTick; | 2567 event->wheelTicksY /= kScrollbarPixelsPerTick; |
| 2574 } else { | 2568 } else { |
| 2575 event->deltaX *= kScrollbarPixelsPerTick; | 2569 event->deltaX *= kScrollbarPixelsPerTick; |
| 2576 event->deltaY *= kScrollbarPixelsPerTick; | 2570 event->deltaY *= kScrollbarPixelsPerTick; |
| 2577 } | 2571 } |
| 2578 } | 2572 } |
| 2579 | 2573 |
| 2580 // Radius fields radius_x and radius_y should eventually be moved to | 2574 // Radius fields radius_x and radius_y should eventually be moved to |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2813 | 2807 |
| 2814 const blink::WebView* EventSender::view() const { | 2808 const blink::WebView* EventSender::view() const { |
| 2815 return web_test_proxy_base_->web_view(); | 2809 return web_test_proxy_base_->web_view(); |
| 2816 } | 2810 } |
| 2817 | 2811 |
| 2818 blink::WebView* EventSender::view() { | 2812 blink::WebView* EventSender::view() { |
| 2819 return web_test_proxy_base_->web_view(); | 2813 return web_test_proxy_base_->web_view(); |
| 2820 } | 2814 } |
| 2821 | 2815 |
| 2822 } // namespace test_runner | 2816 } // namespace test_runner |
| OLD | NEW |