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 47861ee82accc725137fb84ebbac9b5d1eb3bf63..f83edc7a4606cc554d29e34f8cf26c88668529f7 100644 |
--- a/third_party/WebKit/Source/core/input/EventHandler.cpp |
+++ b/third_party/WebKit/Source/core/input/EventHandler.cpp |
@@ -91,6 +91,7 @@ |
#include "platform/TraceEvent.h" |
#include "platform/WindowsKeyboardCodes.h" |
#include "platform/geometry/FloatPoint.h" |
+#include "platform/graphics/GraphicsScreen.h" |
#include "platform/graphics/Image.h" |
#include "platform/heap/Handle.h" |
#include "platform/scroll/ScrollAnimatorBase.h" |
@@ -3449,8 +3450,11 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event, DragIni |
// Once we're past the hysteresis point, we don't want to treat this gesture as a click |
invalidateClick(); |
- if (!tryStartDrag(event)) { |
- // Something failed to start the drag, clean up. |
+ uintptr_t previousId = setCurrentScreenId(Page::screenId(m_frame->page())); |
+ bool dragStarted = tryStartDrag(event); |
+ setCurrentScreenId(previousId); |
+ |
+ if (!dragStarted) { // Something failed to start the drag, clean up. |
clearDragDataTransfer(); |
dragState().m_dragSrc = nullptr; |
} |