| 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 a40a5bc065dff8cd721b95a119fcf4bc36e0dad3..f86d76dd2853df7dbce02456d9d7ca79fc84f896 100644
|
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| @@ -1967,7 +1967,19 @@ void EventHandler::defaultKeyboardEventHandler(KeyboardEvent* event) {
|
|
|
| void EventHandler::dragSourceEndedAt(const PlatformMouseEvent& event,
|
| DragOperation operation) {
|
| - m_mouseEventManager->dragSourceEndedAt(event, operation);
|
| + // Asides from routing the event to the correct frame, the hit test is also an
|
| + // opportunity for Layer to update the :hover and :active pseudoclasses.
|
| + HitTestRequest request(HitTestRequest::Release);
|
| + MouseEventWithHitTestResults mev =
|
| + EventHandlingUtil::performMouseEventHitTest(m_frame, request, event);
|
| +
|
| + LocalFrame* targetFrame;
|
| + if (targetIsFrame(mev.innerNode(), targetFrame)) {
|
| + if (targetFrame)
|
| + targetFrame->eventHandler().dragSourceEndedAt(event, operation);
|
| + } else {
|
| + m_mouseEventManager->dragSourceEndedAt(event, operation);
|
| + }
|
| }
|
|
|
| void EventHandler::updateDragStateAfterEditDragIfNeeded(
|
|
|