Index: components/test_runner/event_sender.cc |
diff --git a/components/test_runner/event_sender.cc b/components/test_runner/event_sender.cc |
index 6e1df4fc4cf424e54e8569157891d64303d8d459..31867c91d971bdffbee91640d9c82dac8d67b957 100644 |
--- a/components/test_runner/event_sender.cc |
+++ b/components/test_runner/event_sender.cc |
@@ -2594,13 +2594,17 @@ void EventSender::DoMouseUp(const WebMouseEvent& e) { |
WebPoint client_point(e.x, e.y); |
WebPoint screen_point(e.globalX, e.globalY); |
- FinishDragAndDrop( |
- e, |
- view_->dragTargetDragOver( |
- client_point, |
- screen_point, |
- current_drag_effects_allowed_, |
- e.modifiers)); |
+ blink::WebDragOperation drag_effect = view_->dragTargetDragOver( |
+ client_point, |
+ screen_point, |
+ current_drag_effects_allowed_, |
+ e.modifiers); |
+ |
+ // Bail if dragover caused cancellation. |
+ if (current_drag_data_.isNull()) |
+ return; |
+ |
+ FinishDragAndDrop(e, drag_effect); |
} |
void EventSender::DoMouseMove(const WebMouseEvent& e) { |