Index: third_party/WebKit/Source/web/WebFrameWidgetBase.cpp |
diff --git a/third_party/WebKit/Source/web/WebFrameWidgetBase.cpp b/third_party/WebKit/Source/web/WebFrameWidgetBase.cpp |
index 79e51fc74f47f7e990c4f1dec0e24542238a19db..b9139dc30dec1ac97a37cc9e4ec9f21297ec093a 100644 |
--- a/third_party/WebKit/Source/web/WebFrameWidgetBase.cpp |
+++ b/third_party/WebKit/Source/web/WebFrameWidgetBase.cpp |
@@ -177,7 +177,12 @@ WebDragOperation WebFrameWidgetBase::dragTargetDragEnterOrOver( |
DragAction dragAction, |
int modifiers) { |
DCHECK(m_currentDragData); |
- if (ignoreInputEvents()) { |
+ // TODO(paulmeyer): It shouldn't be possible for |m_currentDragData| to be |
+ // null here, but this is somehow happening (rarely). This suggests that in |
+ // some cases drag-over is happening before drag-enter, which should be |
+ // impossible. This needs to be investigated further. Once fixed, the extra |
+ // check for |!m_currentDragData| should be removed. (crbug.com/671504) |
+ if (ignoreInputEvents() || !m_currentDragData) { |
cancelDrag(); |
return WebDragOperationNone; |
} |