| 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 <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 466 | 466 |
| 467 // Get the edit command corresponding to a keyboard event. | 467 // Get the edit command corresponding to a keyboard event. |
| 468 // Returns true if the specified event corresponds to an edit command, the name | 468 // Returns true if the specified event corresponds to an edit command, the name |
| 469 // of the edit command will be stored in |*name|. | 469 // of the edit command will be stored in |*name|. |
| 470 bool GetEditCommand(const WebKeyboardEvent& event, std::string* name) { | 470 bool GetEditCommand(const WebKeyboardEvent& event, std::string* name) { |
| 471 #if defined(OS_MACOSX) | 471 #if defined(OS_MACOSX) |
| 472 // We only cares about Left,Right,Up,Down keys with Command or Command+Shift | 472 // We only cares about Left,Right,Up,Down keys with Command or Command+Shift |
| 473 // modifiers. These key events correspond to some special movement and | 473 // modifiers. These key events correspond to some special movement and |
| 474 // selection editor commands. These keys will be marked as system key, which | 474 // selection editor commands. These keys will be marked as system key, which |
| 475 // prevents them from being handled. Thus they must be handled specially. | 475 // prevents them from being handled. Thus they must be handled specially. |
| 476 if ((event.modifiers & ~WebKeyboardEvent::ShiftKey) != | 476 if ((event.modifiers() & ~WebKeyboardEvent::ShiftKey) != |
| 477 WebKeyboardEvent::MetaKey) | 477 WebKeyboardEvent::MetaKey) |
| 478 return false; | 478 return false; |
| 479 | 479 |
| 480 switch (event.windowsKeyCode) { | 480 switch (event.windowsKeyCode) { |
| 481 case ui::VKEY_LEFT: | 481 case ui::VKEY_LEFT: |
| 482 *name = "MoveToBeginningOfLine"; | 482 *name = "MoveToBeginningOfLine"; |
| 483 break; | 483 break; |
| 484 case ui::VKEY_RIGHT: | 484 case ui::VKEY_RIGHT: |
| 485 *name = "MoveToEndOfLine"; | 485 *name = "MoveToEndOfLine"; |
| 486 break; | 486 break; |
| 487 case ui::VKEY_UP: | 487 case ui::VKEY_UP: |
| 488 *name = "MoveToBeginningOfDocument"; | 488 *name = "MoveToBeginningOfDocument"; |
| 489 break; | 489 break; |
| 490 case ui::VKEY_DOWN: | 490 case ui::VKEY_DOWN: |
| 491 *name = "MoveToEndOfDocument"; | 491 *name = "MoveToEndOfDocument"; |
| 492 break; | 492 break; |
| 493 default: | 493 default: |
| 494 return false; | 494 return false; |
| 495 } | 495 } |
| 496 | 496 |
| 497 if (event.modifiers & WebKeyboardEvent::ShiftKey) | 497 if (event.modifiers() & WebKeyboardEvent::ShiftKey) |
| 498 name->append("AndModifySelection"); | 498 name->append("AndModifySelection"); |
| 499 | 499 |
| 500 return true; | 500 return true; |
| 501 #else | 501 #else |
| 502 return false; | 502 return false; |
| 503 #endif | 503 #endif |
| 504 } | 504 } |
| 505 | 505 |
| 506 bool IsSystemKeyEvent(const WebKeyboardEvent& event) { | 506 bool IsSystemKeyEvent(const WebKeyboardEvent& event) { |
| 507 #if defined(OS_MACOSX) | 507 #if defined(OS_MACOSX) |
| 508 return event.modifiers & WebInputEvent::MetaKey && | 508 return event.modifiers() & WebInputEvent::MetaKey && |
| 509 event.windowsKeyCode != ui::VKEY_B && | 509 event.windowsKeyCode != ui::VKEY_B && |
| 510 event.windowsKeyCode != ui::VKEY_I; | 510 event.windowsKeyCode != ui::VKEY_I; |
| 511 #else | 511 #else |
| 512 return !!(event.modifiers & WebInputEvent::AltKey); | 512 return !!(event.modifiers() & WebInputEvent::AltKey); |
| 513 #endif | 513 #endif |
| 514 } | 514 } |
| 515 | 515 |
| 516 bool GetScrollUnits(gin::Arguments* args, WebGestureEvent::ScrollUnits* units) { | 516 bool GetScrollUnits(gin::Arguments* args, WebGestureEvent::ScrollUnits* units) { |
| 517 std::string units_string; | 517 std::string units_string; |
| 518 if (!args->PeekNext().IsEmpty()) { | 518 if (!args->PeekNext().IsEmpty()) { |
| 519 if (args->PeekNext()->IsString()) | 519 if (args->PeekNext()->IsString()) |
| 520 args->GetNext(&units_string); | 520 args->GetNext(&units_string); |
| 521 if (units_string == "Page") { | 521 if (units_string == "Page") { |
| 522 *units = WebGestureEvent::Page; | 522 *units = WebGestureEvent::Page; |
| (...skipping 1150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1673 event_down.domKey = static_cast<int>( | 1673 event_down.domKey = static_cast<int>( |
| 1674 ui::KeycodeConverter::KeyStringToDomKey(domKeyString)); | 1674 ui::KeycodeConverter::KeyStringToDomKey(domKeyString)); |
| 1675 event_down.domCode = static_cast<int>( | 1675 event_down.domCode = static_cast<int>( |
| 1676 ui::KeycodeConverter::CodeStringToDomCode(domCodeString)); | 1676 ui::KeycodeConverter::CodeStringToDomCode(domCodeString)); |
| 1677 | 1677 |
| 1678 if (generate_char) { | 1678 if (generate_char) { |
| 1679 event_down.text[0] = text; | 1679 event_down.text[0] = text; |
| 1680 event_down.unmodifiedText[0] = text; | 1680 event_down.unmodifiedText[0] = text; |
| 1681 } | 1681 } |
| 1682 | 1682 |
| 1683 if (event_down.modifiers != 0) | 1683 if (event_down.modifiers() != 0) |
| 1684 event_down.isSystemKey = IsSystemKeyEvent(event_down); | 1684 event_down.isSystemKey = IsSystemKeyEvent(event_down); |
| 1685 | 1685 |
| 1686 WebKeyboardEvent event_up = event_down; | 1686 WebKeyboardEvent event_up = event_down; |
| 1687 event_up.setType(WebInputEvent::KeyUp); | 1687 event_up.setType(WebInputEvent::KeyUp); |
| 1688 // EventSender.m forces a layout here, with at least one | 1688 // EventSender.m forces a layout here, with at least one |
| 1689 // test (fast/forms/focus-control-to-page.html) relying on this. | 1689 // test (fast/forms/focus-control-to-page.html) relying on this. |
| 1690 if (force_layout_on_events_) | 1690 if (force_layout_on_events_) |
| 1691 widget()->updateAllLifecyclePhases(); | 1691 widget()->updateAllLifecyclePhases(); |
| 1692 | 1692 |
| 1693 // In the browser, if a keyboard event corresponds to an editor command, | 1693 // In the browser, if a keyboard event corresponds to an editor command, |
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2123 } | 2123 } |
| 2124 | 2124 |
| 2125 void EventSender::MouseScrollBy(gin::Arguments* args, | 2125 void EventSender::MouseScrollBy(gin::Arguments* args, |
| 2126 MouseScrollType scroll_type) { | 2126 MouseScrollType scroll_type) { |
| 2127 // TODO(dtapuska): Gestures really should be sent by the MouseWheelEventQueue | 2127 // TODO(dtapuska): Gestures really should be sent by the MouseWheelEventQueue |
| 2128 // class in the browser. But since the event doesn't propogate up into | 2128 // class in the browser. But since the event doesn't propogate up into |
| 2129 // the browser generate the events here. See crbug.com/596095. | 2129 // the browser generate the events here. See crbug.com/596095. |
| 2130 bool send_gestures = true; | 2130 bool send_gestures = true; |
| 2131 WebMouseWheelEvent wheel_event = | 2131 WebMouseWheelEvent wheel_event = |
| 2132 GetMouseWheelEvent(args, scroll_type, &send_gestures); | 2132 GetMouseWheelEvent(args, scroll_type, &send_gestures); |
| 2133 if (wheel_event.type != WebInputEvent::Undefined && | 2133 if (wheel_event.type() != WebInputEvent::Undefined && |
| 2134 HandleInputEventOnViewOrPopup(wheel_event) == | 2134 HandleInputEventOnViewOrPopup(wheel_event) == |
| 2135 WebInputEventResult::NotHandled && | 2135 WebInputEventResult::NotHandled && |
| 2136 send_gestures) { | 2136 send_gestures) { |
| 2137 SendGesturesForMouseWheelEvent(wheel_event); | 2137 SendGesturesForMouseWheelEvent(wheel_event); |
| 2138 } | 2138 } |
| 2139 } | 2139 } |
| 2140 | 2140 |
| 2141 void EventSender::MouseMoveTo(gin::Arguments* args) { | 2141 void EventSender::MouseMoveTo(gin::Arguments* args) { |
| 2142 if (force_layout_on_events_) | 2142 if (force_layout_on_events_) |
| 2143 widget()->updateAllLifecyclePhases(); | 2143 widget()->updateAllLifecyclePhases(); |
| (...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2678 widget_event.get() ? static_cast<WebMouseEvent*>(widget_event.get()) | 2678 widget_event.get() ? static_cast<WebMouseEvent*>(widget_event.get()) |
| 2679 : &raw_event; | 2679 : &raw_event; |
| 2680 | 2680 |
| 2681 WebPoint client_point(event->x, event->y); | 2681 WebPoint client_point(event->x, event->y); |
| 2682 WebPoint screen_point(event->globalX, event->globalY); | 2682 WebPoint screen_point(event->globalX, event->globalY); |
| 2683 current_drag_effect_ = drag_effect; | 2683 current_drag_effect_ = drag_effect; |
| 2684 if (current_drag_effect_) { | 2684 if (current_drag_effect_) { |
| 2685 // Specifically pass any keyboard modifiers to the drop method. This allows | 2685 // Specifically pass any keyboard modifiers to the drop method. This allows |
| 2686 // tests to control the drop type (i.e. copy or move). | 2686 // tests to control the drop type (i.e. copy or move). |
| 2687 mainFrameWidget()->dragTargetDrop(current_drag_data_, client_point, | 2687 mainFrameWidget()->dragTargetDrop(current_drag_data_, client_point, |
| 2688 screen_point, event->modifiers); | 2688 screen_point, event->modifiers()); |
| 2689 } else { | 2689 } else { |
| 2690 mainFrameWidget()->dragTargetDragLeave(); | 2690 mainFrameWidget()->dragTargetDragLeave(); |
| 2691 } | 2691 } |
| 2692 current_drag_data_.reset(); | 2692 current_drag_data_.reset(); |
| 2693 mainFrameWidget()->dragSourceEndedAt(client_point, screen_point, | 2693 mainFrameWidget()->dragSourceEndedAt(client_point, screen_point, |
| 2694 current_drag_effect_); | 2694 current_drag_effect_); |
| 2695 mainFrameWidget()->dragSourceSystemDragEnded(); | 2695 mainFrameWidget()->dragSourceSystemDragEnded(); |
| 2696 } | 2696 } |
| 2697 | 2697 |
| 2698 void EventSender::DoDragAfterMouseUp(const WebMouseEvent& raw_event) { | 2698 void EventSender::DoDragAfterMouseUp(const WebMouseEvent& raw_event) { |
| 2699 std::unique_ptr<WebInputEvent> widget_event = | 2699 std::unique_ptr<WebInputEvent> widget_event = |
| 2700 TransformScreenToWidgetCoordinates(raw_event); | 2700 TransformScreenToWidgetCoordinates(raw_event); |
| 2701 const WebMouseEvent* event = | 2701 const WebMouseEvent* event = |
| 2702 widget_event.get() ? static_cast<WebMouseEvent*>(widget_event.get()) | 2702 widget_event.get() ? static_cast<WebMouseEvent*>(widget_event.get()) |
| 2703 : &raw_event; | 2703 : &raw_event; |
| 2704 | 2704 |
| 2705 last_click_time_sec_ = event->timeStampSeconds; | 2705 last_click_time_sec_ = event->timeStampSeconds(); |
| 2706 last_click_pos_ = current_pointer_state_[kRawMousePointerId].last_pos_; | 2706 last_click_pos_ = current_pointer_state_[kRawMousePointerId].last_pos_; |
| 2707 | 2707 |
| 2708 // If we're in a drag operation, complete it. | 2708 // If we're in a drag operation, complete it. |
| 2709 if (current_drag_data_.isNull()) | 2709 if (current_drag_data_.isNull()) |
| 2710 return; | 2710 return; |
| 2711 | 2711 |
| 2712 WebPoint client_point(event->x, event->y); | 2712 WebPoint client_point(event->x, event->y); |
| 2713 WebPoint screen_point(event->globalX, event->globalY); | 2713 WebPoint screen_point(event->globalX, event->globalY); |
| 2714 blink::WebDragOperation drag_effect = mainFrameWidget()->dragTargetDragOver( | 2714 blink::WebDragOperation drag_effect = mainFrameWidget()->dragTargetDragOver( |
| 2715 client_point, screen_point, current_drag_effects_allowed_, | 2715 client_point, screen_point, current_drag_effects_allowed_, |
| 2716 event->modifiers); | 2716 event->modifiers()); |
| 2717 | 2717 |
| 2718 // Bail if dragover caused cancellation. | 2718 // Bail if dragover caused cancellation. |
| 2719 if (current_drag_data_.isNull()) | 2719 if (current_drag_data_.isNull()) |
| 2720 return; | 2720 return; |
| 2721 | 2721 |
| 2722 FinishDragAndDrop(raw_event, drag_effect); | 2722 FinishDragAndDrop(raw_event, drag_effect); |
| 2723 } | 2723 } |
| 2724 | 2724 |
| 2725 void EventSender::DoDragAfterMouseMove(const WebMouseEvent& raw_event) { | 2725 void EventSender::DoDragAfterMouseMove(const WebMouseEvent& raw_event) { |
| 2726 if (current_pointer_state_[kRawMousePointerId].pressed_button_ == | 2726 if (current_pointer_state_[kRawMousePointerId].pressed_button_ == |
| 2727 WebMouseEvent::Button::NoButton || | 2727 WebMouseEvent::Button::NoButton || |
| 2728 current_drag_data_.isNull()) { | 2728 current_drag_data_.isNull()) { |
| 2729 return; | 2729 return; |
| 2730 } | 2730 } |
| 2731 | 2731 |
| 2732 std::unique_ptr<WebInputEvent> widget_event = | 2732 std::unique_ptr<WebInputEvent> widget_event = |
| 2733 TransformScreenToWidgetCoordinates(raw_event); | 2733 TransformScreenToWidgetCoordinates(raw_event); |
| 2734 const WebMouseEvent* event = | 2734 const WebMouseEvent* event = |
| 2735 widget_event.get() ? static_cast<WebMouseEvent*>(widget_event.get()) | 2735 widget_event.get() ? static_cast<WebMouseEvent*>(widget_event.get()) |
| 2736 : &raw_event; | 2736 : &raw_event; |
| 2737 | 2737 |
| 2738 WebPoint client_point(event->x, event->y); | 2738 WebPoint client_point(event->x, event->y); |
| 2739 WebPoint screen_point(event->globalX, event->globalY); | 2739 WebPoint screen_point(event->globalX, event->globalY); |
| 2740 current_drag_effect_ = mainFrameWidget()->dragTargetDragOver( | 2740 current_drag_effect_ = mainFrameWidget()->dragTargetDragOver( |
| 2741 client_point, screen_point, current_drag_effects_allowed_, | 2741 client_point, screen_point, current_drag_effects_allowed_, |
| 2742 event->modifiers); | 2742 event->modifiers()); |
| 2743 } | 2743 } |
| 2744 | 2744 |
| 2745 void EventSender::ReplaySavedEvents() { | 2745 void EventSender::ReplaySavedEvents() { |
| 2746 replaying_saved_events_ = true; | 2746 replaying_saved_events_ = true; |
| 2747 while (!mouse_event_queue_.empty()) { | 2747 while (!mouse_event_queue_.empty()) { |
| 2748 SavedEvent e = mouse_event_queue_.front(); | 2748 SavedEvent e = mouse_event_queue_.front(); |
| 2749 mouse_event_queue_.pop_front(); | 2749 mouse_event_queue_.pop_front(); |
| 2750 | 2750 |
| 2751 switch (e.type) { | 2751 switch (e.type) { |
| 2752 case SavedEvent::TYPE_MOUSE_MOVE: { | 2752 case SavedEvent::TYPE_MOUSE_MOVE: { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2789 default: | 2789 default: |
| 2790 NOTREACHED(); | 2790 NOTREACHED(); |
| 2791 } | 2791 } |
| 2792 } | 2792 } |
| 2793 | 2793 |
| 2794 replaying_saved_events_ = false; | 2794 replaying_saved_events_ = false; |
| 2795 } | 2795 } |
| 2796 | 2796 |
| 2797 WebInputEventResult EventSender::HandleInputEventOnViewOrPopup( | 2797 WebInputEventResult EventSender::HandleInputEventOnViewOrPopup( |
| 2798 const WebInputEvent& raw_event) { | 2798 const WebInputEvent& raw_event) { |
| 2799 last_event_timestamp_ = raw_event.timeStampSeconds; | 2799 last_event_timestamp_ = raw_event.timeStampSeconds(); |
| 2800 | 2800 |
| 2801 WebPagePopup* popup = widget()->pagePopup(); | 2801 WebPagePopup* popup = widget()->pagePopup(); |
| 2802 if (popup && !WebInputEvent::isKeyboardEventType(raw_event.type)) { | 2802 if (popup && !WebInputEvent::isKeyboardEventType(raw_event.type())) { |
| 2803 // ui::ScaleWebInputEvent returns nullptr when the scale is 1.0f as the | 2803 // ui::ScaleWebInputEvent returns nullptr when the scale is 1.0f as the |
| 2804 // event does not have to be converted. | 2804 // event does not have to be converted. |
| 2805 std::unique_ptr<WebInputEvent> scaled_event = ui::ScaleWebInputEvent( | 2805 std::unique_ptr<WebInputEvent> scaled_event = ui::ScaleWebInputEvent( |
| 2806 raw_event, delegate()->GetWindowToViewportScale()); | 2806 raw_event, delegate()->GetWindowToViewportScale()); |
| 2807 const WebInputEvent* popup_friendly_event = | 2807 const WebInputEvent* popup_friendly_event = |
| 2808 scaled_event.get() ? scaled_event.get() : &raw_event; | 2808 scaled_event.get() ? scaled_event.get() : &raw_event; |
| 2809 return popup->handleInputEvent(*popup_friendly_event); | 2809 return popup->handleInputEvent(*popup_friendly_event); |
| 2810 } | 2810 } |
| 2811 | 2811 |
| 2812 std::unique_ptr<WebInputEvent> widget_event = | 2812 std::unique_ptr<WebInputEvent> widget_event = |
| 2813 TransformScreenToWidgetCoordinates(raw_event); | 2813 TransformScreenToWidgetCoordinates(raw_event); |
| 2814 const WebInputEvent* event = | 2814 const WebInputEvent* event = |
| 2815 widget_event.get() ? static_cast<WebMouseEvent*>(widget_event.get()) | 2815 widget_event.get() ? static_cast<WebMouseEvent*>(widget_event.get()) |
| 2816 : &raw_event; | 2816 : &raw_event; |
| 2817 return widget()->handleInputEvent(*event); | 2817 return widget()->handleInputEvent(*event); |
| 2818 } | 2818 } |
| 2819 | 2819 |
| 2820 void EventSender::SendGesturesForMouseWheelEvent( | 2820 void EventSender::SendGesturesForMouseWheelEvent( |
| 2821 const WebMouseWheelEvent wheel_event) { | 2821 const WebMouseWheelEvent wheel_event) { |
| 2822 WebGestureEvent begin_event(WebInputEvent::GestureScrollBegin, | 2822 WebGestureEvent begin_event(WebInputEvent::GestureScrollBegin, |
| 2823 wheel_event.modifiers, GetCurrentEventTimeSec()); | 2823 wheel_event.modifiers(), |
| 2824 GetCurrentEventTimeSec()); |
| 2824 InitGestureEventFromMouseWheel(wheel_event, &begin_event); | 2825 InitGestureEventFromMouseWheel(wheel_event, &begin_event); |
| 2825 begin_event.data.scrollBegin.deltaXHint = wheel_event.deltaX; | 2826 begin_event.data.scrollBegin.deltaXHint = wheel_event.deltaX; |
| 2826 begin_event.data.scrollBegin.deltaYHint = wheel_event.deltaY; | 2827 begin_event.data.scrollBegin.deltaYHint = wheel_event.deltaY; |
| 2827 if (wheel_event.scrollByPage) { | 2828 if (wheel_event.scrollByPage) { |
| 2828 begin_event.data.scrollBegin.deltaHintUnits = blink::WebGestureEvent::Page; | 2829 begin_event.data.scrollBegin.deltaHintUnits = blink::WebGestureEvent::Page; |
| 2829 if (begin_event.data.scrollBegin.deltaXHint) { | 2830 if (begin_event.data.scrollBegin.deltaXHint) { |
| 2830 begin_event.data.scrollBegin.deltaXHint = | 2831 begin_event.data.scrollBegin.deltaXHint = |
| 2831 begin_event.data.scrollBegin.deltaXHint > 0 ? 1 : -1; | 2832 begin_event.data.scrollBegin.deltaXHint > 0 ? 1 : -1; |
| 2832 } | 2833 } |
| 2833 if (begin_event.data.scrollBegin.deltaYHint) { | 2834 if (begin_event.data.scrollBegin.deltaYHint) { |
| 2834 begin_event.data.scrollBegin.deltaYHint = | 2835 begin_event.data.scrollBegin.deltaYHint = |
| 2835 begin_event.data.scrollBegin.deltaYHint > 0 ? 1 : -1; | 2836 begin_event.data.scrollBegin.deltaYHint > 0 ? 1 : -1; |
| 2836 } | 2837 } |
| 2837 } else { | 2838 } else { |
| 2838 begin_event.data.scrollBegin.deltaHintUnits = | 2839 begin_event.data.scrollBegin.deltaHintUnits = |
| 2839 wheel_event.hasPreciseScrollingDeltas | 2840 wheel_event.hasPreciseScrollingDeltas |
| 2840 ? blink::WebGestureEvent::PrecisePixels | 2841 ? blink::WebGestureEvent::PrecisePixels |
| 2841 : blink::WebGestureEvent::Pixels; | 2842 : blink::WebGestureEvent::Pixels; |
| 2842 } | 2843 } |
| 2843 | 2844 |
| 2844 if (force_layout_on_events_) | 2845 if (force_layout_on_events_) |
| 2845 widget()->updateAllLifecyclePhases(); | 2846 widget()->updateAllLifecyclePhases(); |
| 2846 | 2847 |
| 2847 HandleInputEventOnViewOrPopup(begin_event); | 2848 HandleInputEventOnViewOrPopup(begin_event); |
| 2848 | 2849 |
| 2849 WebGestureEvent update_event(WebInputEvent::GestureScrollUpdate, | 2850 WebGestureEvent update_event(WebInputEvent::GestureScrollUpdate, |
| 2850 wheel_event.modifiers, GetCurrentEventTimeSec()); | 2851 wheel_event.modifiers(), |
| 2852 GetCurrentEventTimeSec()); |
| 2851 InitGestureEventFromMouseWheel(wheel_event, &update_event); | 2853 InitGestureEventFromMouseWheel(wheel_event, &update_event); |
| 2852 update_event.data.scrollUpdate.deltaX = | 2854 update_event.data.scrollUpdate.deltaX = |
| 2853 begin_event.data.scrollBegin.deltaXHint; | 2855 begin_event.data.scrollBegin.deltaXHint; |
| 2854 update_event.data.scrollUpdate.deltaY = | 2856 update_event.data.scrollUpdate.deltaY = |
| 2855 begin_event.data.scrollBegin.deltaYHint; | 2857 begin_event.data.scrollBegin.deltaYHint; |
| 2856 update_event.data.scrollUpdate.deltaUnits = | 2858 update_event.data.scrollUpdate.deltaUnits = |
| 2857 begin_event.data.scrollBegin.deltaHintUnits; | 2859 begin_event.data.scrollBegin.deltaHintUnits; |
| 2858 | 2860 |
| 2859 if (force_layout_on_events_) | 2861 if (force_layout_on_events_) |
| 2860 widget()->updateAllLifecyclePhases(); | 2862 widget()->updateAllLifecyclePhases(); |
| 2861 HandleInputEventOnViewOrPopup(update_event); | 2863 HandleInputEventOnViewOrPopup(update_event); |
| 2862 | 2864 |
| 2863 WebGestureEvent end_event(WebInputEvent::GestureScrollEnd, | 2865 WebGestureEvent end_event(WebInputEvent::GestureScrollEnd, |
| 2864 wheel_event.modifiers, GetCurrentEventTimeSec()); | 2866 wheel_event.modifiers(), GetCurrentEventTimeSec()); |
| 2865 InitGestureEventFromMouseWheel(wheel_event, &end_event); | 2867 InitGestureEventFromMouseWheel(wheel_event, &end_event); |
| 2866 end_event.data.scrollEnd.deltaUnits = | 2868 end_event.data.scrollEnd.deltaUnits = |
| 2867 begin_event.data.scrollBegin.deltaHintUnits; | 2869 begin_event.data.scrollBegin.deltaHintUnits; |
| 2868 | 2870 |
| 2869 if (force_layout_on_events_) | 2871 if (force_layout_on_events_) |
| 2870 widget()->updateAllLifecyclePhases(); | 2872 widget()->updateAllLifecyclePhases(); |
| 2871 HandleInputEventOnViewOrPopup(end_event); | 2873 HandleInputEventOnViewOrPopup(end_event); |
| 2872 } | 2874 } |
| 2873 | 2875 |
| 2874 TestInterfaces* EventSender::interfaces() { | 2876 TestInterfaces* EventSender::interfaces() { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2896 return view()->mainFrame()->toWebLocalFrame()->frameWidget(); | 2898 return view()->mainFrame()->toWebLocalFrame()->frameWidget(); |
| 2897 } | 2899 } |
| 2898 | 2900 |
| 2899 std::unique_ptr<WebInputEvent> EventSender::TransformScreenToWidgetCoordinates( | 2901 std::unique_ptr<WebInputEvent> EventSender::TransformScreenToWidgetCoordinates( |
| 2900 const WebInputEvent& event) { | 2902 const WebInputEvent& event) { |
| 2901 return delegate()->TransformScreenToWidgetCoordinates( | 2903 return delegate()->TransformScreenToWidgetCoordinates( |
| 2902 web_widget_test_proxy_base_, event); | 2904 web_widget_test_proxy_base_, event); |
| 2903 } | 2905 } |
| 2904 | 2906 |
| 2905 } // namespace test_runner | 2907 } // namespace test_runner |
| OLD | NEW |