Index: ash/wm/toplevel_window_event_handler.cc |
diff --git a/ash/wm/toplevel_window_event_handler.cc b/ash/wm/toplevel_window_event_handler.cc |
index 8b6c9ba04542badc4444a7dc5fdb951afd4540a4..0dc31909abf9e5da120a05c7b8b68cc67ed64d40 100644 |
--- a/ash/wm/toplevel_window_event_handler.cc |
+++ b/ash/wm/toplevel_window_event_handler.cc |
@@ -476,7 +476,10 @@ void ToplevelWindowEventHandler::HandleMousePressed( |
ConvertPointToParent(target, event->location())); |
AttemptToStartDrag(target, location_in_parent, component, |
aura::client::WINDOW_MOVE_SOURCE_MOUSE); |
- event->StopPropagation(); |
+ // Set as handled so that other event handlers do no act upon the event |
+ // but still receive it so that they receive both parts of each pressed/ |
+ // released pair. |
+ event->SetHandled(); |
} else { |
CompleteDrag(DRAG_COMPLETE); |
} |
@@ -491,12 +494,13 @@ void ToplevelWindowEventHandler::HandleMouseReleased( |
CompleteDrag(event->type() == ui::ET_MOUSE_RELEASED ? |
DRAG_COMPLETE : DRAG_REVERT); |
// Completing the drag may result in hiding the window. If this happens |
- // return true so no other handlers/observers see the event. Otherwise |
- // they see the event on a hidden window. |
+ // make the event as handled so no other handlers/observers act upon the |
flackr
2014/04/12 03:27:46
s/make/mark
jonross
2014/04/14 18:36:15
Done.
|
+ // event. They should see the event on a hidden window, to determine targets |
+ // of destructive actions such as hidding. They should not act upon them. |
flackr
2014/04/12 03:27:46
s/hidding/hiding
jonross
2014/04/14 18:36:15
Done.
|
if (window_resizer_ && |
event->type() == ui::ET_MOUSE_CAPTURE_CHANGED && |
!target->IsVisible()) { |
- event->StopPropagation(); |
+ event->SetHandled(); |
} |
} |