[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

dbates at webkit.org dbates at webkit.org
Thu Oct 29 20:36:20 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 1acb434c13e77e1c4745de91b1ca0886bc7ea730
Author: dbates at webkit.org <dbates at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Sep 29 21:01:39 2009 +0000

    2009-09-29  Daniel Bates  <dbates at webkit.org>
    
            Reviewed by Adam Roben.
    
            https://bugs.webkit.org/show_bug.cgi?id=28902
    
            Fixes an issue where the drop effect returned by Window Dump Render Tree
            was always DROPEFFECT_NONE (since it was hard coded to do so).
    
            This patch corrects this issue by determining the actual drop effect
            performed by the corresponding drag-and-drop operation so that we can
            return it.
    
            * DumpRenderTree/win/DraggingInfo.h: Added field m_dropEffect to store performed drop effect.
            (DraggingInfo::DraggingInfo):
            (DraggingInfo::performedDropEffect): Added method.
            (DraggingInfo::setPerformedDropEffect): Added method.
            * DumpRenderTree/win/EventSender.cpp:
            (doMouseUp): Calls method DraggingInfo::setPerformedDropEffect with performed drop effect.
            Moved delete draggingInfo to UIDelegate::doDragDrop.
            * DumpRenderTree/win/UIDelegate.cpp:
            (UIDelegate::doDragDrop): Sets performedDropEffect to DraggingInfo::performedDropEffect().
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48899 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index ba6b7a8..3cd141d 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,26 @@
+2009-09-29  Daniel Bates  <dbates at webkit.org>
+
+        Reviewed by Adam Roben.
+
+        https://bugs.webkit.org/show_bug.cgi?id=28902
+        
+        Fixes an issue where the drop effect returned by Window Dump Render Tree 
+        was always DROPEFFECT_NONE (since it was hard coded to do so).
+        
+        This patch corrects this issue by determining the actual drop effect 
+        performed by the corresponding drag-and-drop operation so that we can 
+        return it.
+
+        * DumpRenderTree/win/DraggingInfo.h: Added field m_dropEffect to store performed drop effect.
+        (DraggingInfo::DraggingInfo):
+        (DraggingInfo::performedDropEffect): Added method.
+        (DraggingInfo::setPerformedDropEffect): Added method.
+        * DumpRenderTree/win/EventSender.cpp:
+        (doMouseUp): Calls method DraggingInfo::setPerformedDropEffect with performed drop effect.
+        Moved delete draggingInfo to UIDelegate::doDragDrop.
+        * DumpRenderTree/win/UIDelegate.cpp:
+        (UIDelegate::doDragDrop): Sets performedDropEffect to DraggingInfo::performedDropEffect().
+
 2009-09-29  Dan Bernstein  <mitz at apple.com>
 
         Reviewed by Adam Roben.
diff --git a/WebKitTools/DumpRenderTree/win/DraggingInfo.h b/WebKitTools/DumpRenderTree/win/DraggingInfo.h
index 2ead457..98982bc 100644
--- a/WebKitTools/DumpRenderTree/win/DraggingInfo.h
+++ b/WebKitTools/DumpRenderTree/win/DraggingInfo.h
@@ -36,6 +36,7 @@ public:
     DraggingInfo(IDataObject* object, IDropSource* source)
         : m_object(object)
         , m_source(source)
+        , m_performedDropEffect(DROPEFFECT_NONE)
     {
         m_object->AddRef();
         m_source->AddRef();
@@ -54,9 +55,13 @@ public:
     IDataObject* dataObject() const { return m_object; }
     IDropSource* dropSource() const { return m_source; }
 
+    DWORD performedDropEffect() const { return m_performedDropEffect; }
+    void setPerformedDropEffect(DWORD effect) { m_performedDropEffect = effect; }
+
 private:
     IDataObject* m_object;
     IDropSource* m_source;
+    DWORD m_performedDropEffect;
 };
 
 #endif // !defined(DraggingInfo_h)
diff --git a/WebKitTools/DumpRenderTree/win/EventSender.cpp b/WebKitTools/DumpRenderTree/win/EventSender.cpp
index 709df75..721b238 100644
--- a/WebKitTools/DumpRenderTree/win/EventSender.cpp
+++ b/WebKitTools/DumpRenderTree/win/EventSender.cpp
@@ -219,11 +219,12 @@ static void doMouseUp(MSG msg)
             if (hr == DRAGDROP_S_DROP && effect != DROPEFFECT_NONE) {
                 DWORD effect = 0;
                 webViewDropTarget->Drop(draggingInfo->dataObject(), 0, pointl(screenPoint), &effect);
+                draggingInfo->setPerformedDropEffect(effect);
             } else
                 webViewDropTarget->DragLeave();
 
-            delete draggingInfo;
-            draggingInfo = 0;
+            // Reset didDragEnter so that another drag started within the same frame works properly.
+            didDragEnter = false;
         }
     }
 }
diff --git a/WebKitTools/DumpRenderTree/win/UIDelegate.cpp b/WebKitTools/DumpRenderTree/win/UIDelegate.cpp
index 3cc91da..b78fd3e 100644
--- a/WebKitTools/DumpRenderTree/win/UIDelegate.cpp
+++ b/WebKitTools/DumpRenderTree/win/UIDelegate.cpp
@@ -503,6 +503,11 @@ HRESULT STDMETHODCALLTYPE UIDelegate::doDragDrop(
 
     draggingInfo = new DraggingInfo(object, source);
     replaySavedEvents();
+    if (draggingInfo) {
+        *performedEffect = draggingInfo->performedDropEffect();
+        delete draggingInfo;
+        draggingInfo = 0;
+    }
     return S_OK;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list