-
dbates@webkit.org authored
Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=30754 Patch 2 of 2. Removed method EventHandler::dragSourceMovedTo, since it is no longer needed. This method fired a drag event whenever the mouse moved, but section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing model independent of when the mouse moves. See "Among other changes..." in the change log for patch 1 for more details. * WebCore.DragSupport.exp: * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo. (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue. * page/EventHandler.h: 2009-11-10 Daniel Bates <dbates@webkit.org> Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=30754 Removed method draggedImage:movedTo: * WebView/WebFrame.mm: * WebView/WebFrameInternal.h: * WebView/WebHTMLView.mm: 2009-11-10 Daniel Bates <dbates@webkit.org> Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=30754 Modified WebDropSource::QueryContinueDrag so as to not call EventHandler::dragSourceMovedTo. * WebDropSource.cpp: (WebDropSource::QueryContinueDrag): Removed call to EventHandler::dragSourceMovedTo. 2009-11-10 Daniel Bates <dbates@webkit.org> Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=30754 Patch 1 of 2. As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>, the drag event should always fire before the dragover event. In fixing this bug, this patch also makes our drag processing model conform to the HTML 5 spec. Among the changes, this patch ensures that the drag event isn't fired outside of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop. Currently, the drag event is fired whenever the mouse button is down and the OS detects the mouse moved. But, as per the spec, the drag event should fire approx. every 350ms so long as the mouse button is down. Test: fast/events/drag-and-drop-fire-drag-dragover.html * page/EventHandler.cpp: (WebCore::EventHandler::clear): (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget. Modified to determine when we are in the correct instance of EventHandler to service the drag and drop operation. (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo into this method. (WebCore::EventHandler::cancelDragAndDrop): (WebCore::EventHandler::performDragAndDrop): (WebCore::EventHandler::clearDragState): * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether we should fire both drag and dragover events or only the dragover event. 2009-11-10 Daniel Bates <dbates@webkit.org> Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=30754 Tests that the drag event always fires before the dragover event. Also, re-bases the result for test fast/events/drag-in-frames.html, since we now conform to the HTML 5 spec. * fast/events/drag-and-drop-fire-drag-dragover-expected.txt: Added. * fast/events/drag-and-drop-fire-drag-dragover.html: Added. * fast/events/drag-in-frames-expected.txt: Rebased result. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
03eecfa1