Chromium Code Reviews| Index: ui/views/test/event_generator_delegate_mac.mm |
| diff --git a/ui/views/test/event_generator_delegate_mac.mm b/ui/views/test/event_generator_delegate_mac.mm |
| index 55005ea2c4647103ab53c465a2105e3f0cd20934..c50601c8993b453130d2741a6fd517a972e5d5df 100644 |
| --- a/ui/views/test/event_generator_delegate_mac.mm |
| +++ b/ui/views/test/event_generator_delegate_mac.mm |
| @@ -217,6 +217,17 @@ NSEvent* CreateMouseEventInWindow(NSWindow* window, |
| pressure:1.0]; |
| } |
| +NSEvent* CreateMouseWheelEventInWindow(NSWindow* window, |
| + ui::MouseEvent* mouse_event) { |
| + DCHECK(mouse_event->type() == ui::ET_MOUSEWHEEL); |
|
tapted
2016/10/30 23:54:46
nit: DCHECK_EQ
snake
2016/10/31 11:32:06
Done.
|
| + ui::MouseWheelEvent* mouse_wheel_event = |
| + static_cast<ui::MouseWheelEvent*>(mouse_event); |
|
tapted
2016/10/30 23:54:46
mouse_event->AsMouseWheelEvent()
snake
2016/10/31 11:32:06
Done.
|
| + return cocoa_test_event_utils::TestScrollEvent( |
| + ConvertRootPointToTarget(window, mouse_wheel_event->location()), window, |
| + mouse_wheel_event->x_offset(), mouse_wheel_event->y_offset(), false, |
| + NSEventPhaseNone, NSEventPhaseNone); |
| +} |
| + |
| // Implementation of ui::test::EventGeneratorDelegate for Mac. Everything |
| // defined inline is just a stub. Interesting overrides are defined below the |
| // class. |
| @@ -349,10 +360,12 @@ EventGeneratorDelegateMac::GetChildIterator() const { |
| } |
| void EventGeneratorDelegateMac::OnMouseEvent(ui::MouseEvent* event) { |
| - NSEvent* ns_event = CreateMouseEventInWindow(window_, |
| - event->type(), |
| - event->location(), |
| - event->changed_button_flags()); |
| + NSEvent* ns_event = |
| + event->type() == ui::ET_MOUSEWHEEL |
| + ? CreateMouseWheelEventInWindow(window_, event) |
| + : CreateMouseEventInWindow(window_, event->type(), event->location(), |
| + event->changed_button_flags()); |
| + |
| if (owner_->targeting_application()) |
| [NSApp sendEvent:ns_event]; |
| else |