| 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 2096 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2107 void EventSender::GestureTwoFingerTap(gin::Arguments* args) { | 2107 void EventSender::GestureTwoFingerTap(gin::Arguments* args) { |
| 2108 GestureEvent(WebInputEvent::GestureTwoFingerTap, args); | 2108 GestureEvent(WebInputEvent::GestureTwoFingerTap, args); |
| 2109 } | 2109 } |
| 2110 | 2110 |
| 2111 void EventSender::MouseScrollBy(gin::Arguments* args, | 2111 void EventSender::MouseScrollBy(gin::Arguments* args, |
| 2112 MouseScrollType scroll_type) { | 2112 MouseScrollType scroll_type) { |
| 2113 WebMouseWheelEvent wheel_event; | 2113 WebMouseWheelEvent wheel_event; |
| 2114 // TODO(dtapuska): Gestures really should be sent by the MouseWheelEventQueue | 2114 // TODO(dtapuska): Gestures really should be sent by the MouseWheelEventQueue |
| 2115 // class in the browser. But since the event doesn't propogate up into | 2115 // class in the browser. But since the event doesn't propogate up into |
| 2116 // the browser generate the events here. See crbug.com/596095. | 2116 // the browser generate the events here. See crbug.com/596095. |
| 2117 bool send_gestures = false; | 2117 bool send_gestures = true; |
| 2118 InitMouseWheelEvent(args, scroll_type, &wheel_event, &send_gestures); | 2118 InitMouseWheelEvent(args, scroll_type, &wheel_event, &send_gestures); |
| 2119 if (HandleInputEventOnViewOrPopup(wheel_event) == | 2119 if (HandleInputEventOnViewOrPopup(wheel_event) == |
| 2120 WebInputEventResult::NotHandled && | 2120 WebInputEventResult::NotHandled && |
| 2121 send_gestures) { | 2121 send_gestures) { |
| 2122 SendGesturesForMouseWheelEvent(wheel_event); | 2122 SendGesturesForMouseWheelEvent(wheel_event); |
| 2123 } | 2123 } |
| 2124 } | 2124 } |
| 2125 | 2125 |
| 2126 void EventSender::MouseMoveTo(gin::Arguments* args) { | 2126 void EventSender::MouseMoveTo(gin::Arguments* args) { |
| 2127 if (force_layout_on_events_) | 2127 if (force_layout_on_events_) |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2547 } | 2547 } |
| 2548 double vertical; | 2548 double vertical; |
| 2549 if (!args->GetNext(&vertical)) { | 2549 if (!args->GetNext(&vertical)) { |
| 2550 args->ThrowError(); | 2550 args->ThrowError(); |
| 2551 return; | 2551 return; |
| 2552 } | 2552 } |
| 2553 | 2553 |
| 2554 bool paged = false; | 2554 bool paged = false; |
| 2555 bool has_precise_scrolling_deltas = false; | 2555 bool has_precise_scrolling_deltas = false; |
| 2556 int modifiers = 0; | 2556 int modifiers = 0; |
| 2557 bool can_scroll = true; | |
| 2558 if (!args->PeekNext().IsEmpty()) { | 2557 if (!args->PeekNext().IsEmpty()) { |
| 2559 args->GetNext(&paged); | 2558 args->GetNext(&paged); |
| 2560 if (!args->PeekNext().IsEmpty()) { | 2559 if (!args->PeekNext().IsEmpty()) { |
| 2561 args->GetNext(&has_precise_scrolling_deltas); | 2560 args->GetNext(&has_precise_scrolling_deltas); |
| 2562 if (!args->PeekNext().IsEmpty()) { | 2561 if (!args->PeekNext().IsEmpty()) { |
| 2563 v8::Local<v8::Value> value; | 2562 v8::Local<v8::Value> value; |
| 2564 args->GetNext(&value); | 2563 args->GetNext(&value); |
| 2565 modifiers = GetKeyModifiersFromV8(args->isolate(), value); | 2564 modifiers = GetKeyModifiersFromV8(args->isolate(), value); |
| 2566 if (!args->PeekNext().IsEmpty()) { | 2565 if (!args->PeekNext().IsEmpty()) { |
| 2567 args->GetNext(&can_scroll); | 2566 args->GetNext(send_gestures); |
| 2568 } | 2567 } |
| 2569 } | 2568 } |
| 2570 } | 2569 } |
| 2571 } | 2570 } |
| 2572 if (can_scroll) { | |
| 2573 can_scroll = false; | |
| 2574 *send_gestures = true; | |
| 2575 } | |
| 2576 | 2571 |
| 2577 InitMouseEvent(WebInputEvent::MouseWheel, | 2572 InitMouseEvent(WebInputEvent::MouseWheel, |
| 2578 current_pointer_state_[kRawMousePointerId].pressed_button_, | 2573 current_pointer_state_[kRawMousePointerId].pressed_button_, |
| 2579 current_pointer_state_[kRawMousePointerId].current_buttons_, | 2574 current_pointer_state_[kRawMousePointerId].current_buttons_, |
| 2580 current_pointer_state_[kRawMousePointerId].last_pos_, | 2575 current_pointer_state_[kRawMousePointerId].last_pos_, |
| 2581 GetCurrentEventTimeSec(), click_count_, modifiers, event); | 2576 GetCurrentEventTimeSec(), click_count_, modifiers, event); |
| 2582 event->wheelTicksX = static_cast<float>(horizontal); | 2577 event->wheelTicksX = static_cast<float>(horizontal); |
| 2583 event->wheelTicksY = static_cast<float>(vertical); | 2578 event->wheelTicksY = static_cast<float>(vertical); |
| 2584 event->deltaX = event->wheelTicksX; | 2579 event->deltaX = event->wheelTicksX; |
| 2585 event->deltaY = event->wheelTicksY; | 2580 event->deltaY = event->wheelTicksY; |
| 2586 event->scrollByPage = paged; | 2581 event->scrollByPage = paged; |
| 2587 event->hasPreciseScrollingDeltas = has_precise_scrolling_deltas; | 2582 event->hasPreciseScrollingDeltas = has_precise_scrolling_deltas; |
| 2588 event->canScroll = can_scroll; | |
| 2589 if (scroll_type == MouseScrollType::PIXEL) { | 2583 if (scroll_type == MouseScrollType::PIXEL) { |
| 2590 event->wheelTicksX /= kScrollbarPixelsPerTick; | 2584 event->wheelTicksX /= kScrollbarPixelsPerTick; |
| 2591 event->wheelTicksY /= kScrollbarPixelsPerTick; | 2585 event->wheelTicksY /= kScrollbarPixelsPerTick; |
| 2592 } else { | 2586 } else { |
| 2593 event->deltaX *= kScrollbarPixelsPerTick; | 2587 event->deltaX *= kScrollbarPixelsPerTick; |
| 2594 event->deltaY *= kScrollbarPixelsPerTick; | 2588 event->deltaY *= kScrollbarPixelsPerTick; |
| 2595 } | 2589 } |
| 2596 } | 2590 } |
| 2597 | 2591 |
| 2598 // Radius fields radius_x and radius_y should eventually be moved to | 2592 // Radius fields radius_x and radius_y should eventually be moved to |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2821 | 2815 |
| 2822 const blink::WebView* EventSender::view() const { | 2816 const blink::WebView* EventSender::view() const { |
| 2823 return web_test_proxy_base_->web_view(); | 2817 return web_test_proxy_base_->web_view(); |
| 2824 } | 2818 } |
| 2825 | 2819 |
| 2826 blink::WebView* EventSender::view() { | 2820 blink::WebView* EventSender::view() { |
| 2827 return web_test_proxy_base_->web_view(); | 2821 return web_test_proxy_base_->web_view(); |
| 2828 } | 2822 } |
| 2829 | 2823 |
| 2830 } // namespace test_runner | 2824 } // namespace test_runner |
| OLD | NEW |