Skip to content
  • dbates@webkit.org's avatar
    2009-11-10 Daniel Bates <dbates@webkit.org> · 03eecfa1
    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