| 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..b130bc061af6c82b071fda464e8c6e48f032897e 100644
|
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| @@ -1967,6 +1967,20 @@ void EventHandler::defaultKeyboardEventHandler(KeyboardEvent* event) {
|
|
|
| void EventHandler::dragSourceEndedAt(const PlatformMouseEvent& event,
|
| DragOperation 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);
|
| + return;
|
| + }
|
| + }
|
| +
|
| m_mouseEventManager->dragSourceEndedAt(event, operation);
|
| }
|
|
|
|
|