[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