Chromium Code Reviews| Index: ui/views/widget/root_view.cc |
| diff --git a/ui/views/widget/root_view.cc b/ui/views/widget/root_view.cc |
| index cbfb8c4a95dffa42d8ffa0e11797a44fcfd765f0..fa931d524c1017818a9c7cea6c9e8419f6e1f77e 100644 |
| --- a/ui/views/widget/root_view.cc |
| +++ b/ui/views/widget/root_view.cc |
| @@ -52,6 +52,16 @@ class MouseEnterExitEvent : public ui::MouseEvent { |
| ~MouseEnterExitEvent() override {} |
| }; |
| +class GeneratedMouseMoveEvent : public ui::MouseEvent { |
| + public: |
| + GeneratedMouseMoveEvent(const ui::MouseEvent& event) |
| + : ui::MouseEvent(event) { |
| + SetType(ui::ET_MOUSE_MOVED); |
| + } |
| + |
| + ~GeneratedMouseMoveEvent() override {} |
| +}; |
| + |
| } // namespace |
| // This event handler receives events in the pre-target phase and takes care of |
| @@ -447,6 +457,9 @@ void RootView::OnMouseReleased(const ui::MouseEvent& event) { |
| DispatchEvent(mouse_pressed_handler, &mouse_released); |
| if (dispatch_details.dispatcher_destroyed) |
| return; |
| + // We should send generated mouse event, to update hovers after releasing of |
| + // mouse capturing. |
| + OnMouseMoved(GeneratedMouseMoveEvent(event)); |
|
sadrul
2016/10/28 16:07:39
Always sending a mouse-move after a mouse-release
snake
2016/10/28 16:21:38
But we should do this, because View under cursor (
|
| } |
| } |