| Index: third_party/WebKit/Source/core/input/EventHandler.cpp
 | 
| diff --git a/third_party/WebKit/Source/core/input/EventHandler.cpp b/third_party/WebKit/Source/core/input/EventHandler.cpp
 | 
| index cf17e1df8c3bfc2248839b3f49db5c00eb7de6c4..63cee486ba354b33fe76d4b70b0faaacd32f9ff4 100644
 | 
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp
 | 
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
 | 
| @@ -1071,7 +1071,8 @@ WebInputEventResult EventHandler::UpdateDragAndDrop(
 | 
|          mouse_event_manager_->DispatchDragSrcEvent(EventTypeNames::drag, event);
 | 
|        }
 | 
|        event_result = mouse_event_manager_->DispatchDragEvent(
 | 
| -          EventTypeNames::dragenter, new_target, event, data_transfer);
 | 
| +          EventTypeNames::dragenter, new_target, drag_target_, event,
 | 
| +          data_transfer);
 | 
|      }
 | 
|  
 | 
|      if (TargetIsFrame(drag_target_.Get(), target_frame)) {
 | 
| @@ -1079,8 +1080,9 @@ WebInputEventResult EventHandler::UpdateDragAndDrop(
 | 
|          event_result = target_frame->GetEventHandler().UpdateDragAndDrop(
 | 
|              event, data_transfer);
 | 
|      } else if (drag_target_) {
 | 
| -      mouse_event_manager_->DispatchDragEvent(
 | 
| -          EventTypeNames::dragleave, drag_target_.Get(), event, data_transfer);
 | 
| +      mouse_event_manager_->DispatchDragEvent(EventTypeNames::dragleave,
 | 
| +                                              drag_target_.Get(), new_target,
 | 
| +                                              event, data_transfer);
 | 
|      }
 | 
|  
 | 
|      if (new_target) {
 | 
| @@ -1106,7 +1108,7 @@ WebInputEventResult EventHandler::UpdateDragAndDrop(
 | 
|          mouse_event_manager_->DispatchDragSrcEvent(EventTypeNames::drag, event);
 | 
|        }
 | 
|        event_result = mouse_event_manager_->DispatchDragEvent(
 | 
| -          EventTypeNames::dragover, new_target, event, data_transfer);
 | 
| +          EventTypeNames::dragover, new_target, nullptr, event, data_transfer);
 | 
|        should_only_fire_drag_over_event_ = false;
 | 
|      }
 | 
|    }
 | 
| @@ -1124,8 +1126,9 @@ void EventHandler::CancelDragAndDrop(const WebMouseEvent& event,
 | 
|    } else if (drag_target_.Get()) {
 | 
|      if (mouse_event_manager_->GetDragState().drag_src_)
 | 
|        mouse_event_manager_->DispatchDragSrcEvent(EventTypeNames::drag, event);
 | 
| -    mouse_event_manager_->DispatchDragEvent(
 | 
| -        EventTypeNames::dragleave, drag_target_.Get(), event, data_transfer);
 | 
| +    mouse_event_manager_->DispatchDragEvent(EventTypeNames::dragleave,
 | 
| +                                            drag_target_.Get(), nullptr, event,
 | 
| +                                            data_transfer);
 | 
|    }
 | 
|    ClearDragState();
 | 
|  }
 | 
| @@ -1141,7 +1144,8 @@ WebInputEventResult EventHandler::PerformDragAndDrop(
 | 
|            event, data_transfer);
 | 
|    } else if (drag_target_.Get()) {
 | 
|      result = mouse_event_manager_->DispatchDragEvent(
 | 
| -        EventTypeNames::drop, drag_target_.Get(), event, data_transfer);
 | 
| +        EventTypeNames::drop, drag_target_.Get(), nullptr, event,
 | 
| +        data_transfer);
 | 
|    }
 | 
|    ClearDragState();
 | 
|    return result;
 | 
| 
 |